Android应用程序是否可以查看自己的日志文件?
我试着在我的Android设备上使用LogCat,它使用的是Android 1.5,不,不可能更新它,无论如何,现在还不可能。我发现它只跟踪在运行时发生的日志事件 应用程序是否可以跟踪运行时记录的所有事件并将其保存到文件中?Android应用程序是否可以查看自己的日志文件?,android,logging,Android,Logging,我试着在我的Android设备上使用LogCat,它使用的是Android 1.5,不,不可能更新它,无论如何,现在还不可能。我发现它只跟踪在运行时发生的日志事件 应用程序是否可以跟踪运行时记录的所有事件并将其保存到文件中? 即使不是由自身触发的,也会创建一个数据库和一个可以写入的IntentService 当任何组件想要记录任何内容时,使用意图启动此服务 我遗漏了什么吗?事实证明,描述了一种将系统日志副本转储到StringBuilder对象的方法 从教程中复制的代码: public class
即使不是由自身触发的,也会创建一个数据库和一个可以写入的IntentService 当任何组件想要记录任何内容时,使用意图启动此服务 我遗漏了什么吗?事实证明,描述了一种将系统日志副本转储到StringBuilder对象的方法 从教程中复制的代码:
public class LogTest extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
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);
}
TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText(log.toString());
} catch (IOException e) { }
}
}
请注意,您需要包含读取日志的权限:
代码的重要部分是Runtime.getRuntime.execlogcat-d部分。d开关是抛出当前日志并退出的部分。如果我读取的是正确的,从理论上讲,关闭该开关应该使logcat保持运行,并在显示时将日志的连续行转储到其标准输出。您可以手动执行此操作,这将很有帮助。这是我要关注的系统事件。在我触发启动活动的意图和活动应该出现的时间之间发生了一些事情。