我的 Android 应用程序发布了许多日志消息。我试图在同一个应用程序中显示所有这些日志消息。应用程序有一个 UI 元素(文本视图),它应该列出我的应用程序记录的所有消息。如何访问按我的应用程序名称过滤的日志消息(例如按名称com.mycompany.myapp
)
问问题
2478 次
1 回答
3
要在应用程序中显示系统日志,根据您自己的应用程序名称进行过滤,您可以将以下内容作为内部类插入:
private static final String LogCatCommand = "logcat ActivityManager:I *:S";
private static final String ClearLogCatCommand = "logcat -c";
private class MonitorLogThread extends Thread{
public MonitorLogThread(){
}
BufferedReader br;
@Override
public void run() {
try {
Process process;
process = Runtime.getRuntime().exec(ClearLogCatCommand);
process = Runtime.getRuntime().exec(LogCatCommand);
br = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
// Check if it matches the pattern
while(((line=br.readLine()) != null) && !this.isInterrupted()){
// Filter for your app-line
if (line.contains("your-filter-string")){
Log.i("myAppTag", "Found log-entry for my app:" + line);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
在你的 onCreate-Method 中:
Thread mThread = new MonitorLogThread();
mThread.start();
您可能必须修改此示例以使其正常工作!
于 2012-06-14T12:12:27.137 回答