我有一个应用程序,我想收集指定级别和标记的 LogCat 消息。
我能在某种程度上获得累积的消息吗?我不想逐个收集消息,它应该是它们的总和,就像我使用adb来读取实际日志一样。这可能吗?
答案 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