保持调试输出12小时?

时间:2014-10-07 19:00:34

标签: android logging android-logcat

对于我的一个Android项目,我需要在12到24小时的时间内收集一些调试数据。写入logcat不是一个解决方案,因为它不会长时间保存日志。有没有比手动记录到文件更好的方法?适合这种情况的某种API"很长一段时间"日志记录?

感谢您提供的任何暗示: - )

2 个答案:

答案 0 :(得分:0)

一个非常简单的解决方案可能是将调试日志写入PC上的永久文件。

这将复制日志的内容然后退出。

adb logcat -d > logcat.txt

如果要在创建新日志输出时继续写入文件,请删除-d,它将继续复制到文件。

adb logcat > logcat.txt

答案 1 :(得分:0)

如何编写自己的Log类,一个将log4j用于文件日志记录的包装器,以及用于本机logcat的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

在您的应用中,不使用常规的Log类,而是使用自定义Log类。

相关问题