2014-10-07 1 views
0

내 안드로이드 프로젝트 중 하나에 대해 12 시간에서 24 시간 사이의 시간대에 일부 디버그 데이터를 수집해야합니다. 로그를 오래 보관하지 않기 때문에 logcat에 기록하는 것은 해결책이 아닙니다. 수동으로 파일에 기록하는 것보다 더 좋은 방법이 있습니까? 이 "오랜 시간"로깅을위한 API가 있습니까? 이 :-)에 어떤 힌트12 시간 동안 디버그 출력을 유지 하시겠습니까?

덕분에

+0

모든 로깅 API가 어딘가에 파일에 쓰는 것보다 많습니다. – tyczj

+0

"오래 걸리는 로그"는 무엇입니까? 문제가 무엇인지는 분명하지 않습니다. 로깅은 파일, DB, 엔드 포인트 등 어딘가에 쓰도록되어 있습니다. 하나를 선택하고 구현하십시오. –

+0

android logcat api를 사용하여 로그 항목을 완료했습니다. 로그 버퍼가 원형이므로 Log.d (..)는 영원히 보관되지 않습니다. 그래서 질문은 : 안드로이드는 logcat API 또는 유사한 것을 사용하여 파일에 어떤 방법으로 로깅을 제공합니까? –

답변

0

아주 간단한 솔루션은 PC에 영구적 인 파일에 디버그 로그를 작성할 수 있습니다.

이렇게하면 로그 내용이 복사 된 다음 종료됩니다.

새 로그 출력이 생성 될 때 파일에 계속 쓰려면 -d를 제거하면 계속 파일에 복사됩니다.

adb logcat > logcat.txt 
+0

감사합니다. 그러나 내 안드로이드 폰은이 기간 동안 PC에 연결되지 않습니다.) –

0

자신의 로그 클래스 파일 로깅의 log4j를 사용하여 원시 로그 캣에 대한 android.util.log하는 래퍼를 작성하는 방법에 대한 무엇입니까. 대신 정기적으로 로그 클래스를 사용

public class Log 
{ 
    private static Logger logger = Logger.getLogger("MAIN_LOGGER"); 

    // info 
    public static void i(String tag, String message) 
    { 
     // logcat 
     android.util.Log.i(tag, message); 

     // log4j 
     logger.info("[" + tag + "] " + message); 
    } 

    // TODO other levels 
} 

log4j.properties 앱에서

# [...] 
log4j.logger.MAIN_LOGGER = DEBUG, FILE 

# Define the file appender 
# TODO improve this 
log4j.appender.FILE=org.apache.log4j.FileAppender 
log4j.appender.FILE.File=/sdcard/log.out 

는 사용자 정의 하나를 사용하십시오.

관련 문제