如何在Android应用程序中收集LogCat消息

时间:2013-12-10 14:55:18

标签: android logcat

我有一个应用程序,我想收集指定级别和标记的 LogCat 消息。

我能在某种程度上获得累积的消息吗?我不想逐个收集消息,它应该是它们的总和,就像我使用adb来读取实际日志一样。这可能吗?

2 个答案:

答案 0 :(得分:5)

试试这个:请注意,在Android 4中,您只会看到由您自己的应用编写的日志消息,除非您具有超级用户权限。

public static String getLog(Context c) {
    try {
        Process process = Runtime.getRuntime().exec("logcat -d");
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));

        StringBuilder log = new StringBuilder();
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            log.append(line);
            log.append("\n");
        }

       return log.toString();

    } catch (IOException e) {
       return null;
    }
}

答案 1 :(得分:3)

为什么不将它们写入文件呢? LogCat真的用于实时日志。有很多优质的日志包可以记录到文件,如果这是你想要做的。

仅作为一个例子:

How to write logs in text file when using java.util.logging.Logger