android如何以编程方式仅捕获应用程序中的我的日志条目
问题描述:
我想单独获取我放入应用程序中的日志条目并将其显示在可滚动的textview中。例如android如何以编程方式仅捕获应用程序中的我的日志条目
Log.e(SAMPLE_ACTIVITY_TAG, "App started")
我需要那些错误日志,我不想要其他不需要的日志。 logcat命令行工具有可能吗?我曾尝试下面的代码,但我得到完整的应用设备日志
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 +"\n");
}
textView.setText(log.toString());
textView.setMovementMethod(new ScrollingMovementMethod());
任何建议
答
请与下面给出的命令创建进程对象:
logcat的--pid = PID -d
您需要用您的应用程序进程ID替换PID。进程ID可以使用下面的代码行
int pid = android.os.Process.myPid();
你最终的源代码应该是这样的获取。请试一试
int pid = android.os.Process.myPid();
String command = "logcat --pid="+pid+" -d";
Process process = Runtime.getRuntime().exec(command);
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
StringBuilder log=new StringBuilder();
String line = "";
while ((line = bufferedReader.readLine()) != null) {
log.append(line +"\n");
}
textView.setText(log.toString());
textView.setMovementMethod(new ScrollingMovementMethod());