为Android应用程序创建日志文件
我想为我的Android应用程序创建一个日志文件。我需要它来调试应用程序的随机崩溃 我想创建一个函数,如果存在未处理的异常,它总是被调用。在日志中,我需要异常消息。在ANdroid中,是否有任何事件类型的机制会在未处理的异常上被调用 尝试使用android为Android应用程序创建日志文件,android,exception,logging,Android,Exception,Logging,我想为我的Android应用程序创建一个日志文件。我需要它来调试应用程序的随机崩溃 我想创建一个函数,如果存在未处理的异常,它总是被调用。在日志中,我需要异常消息。在ANdroid中,是否有任何事件类型的机制会在未处理的异常上被调用 尝试使用android 非常好的事情,请尝试一下。您可以编写自己的日志猫 当您的应用程序安装在真正的android设备上,并且没有连接到Eclipse以获取调试详细信息时 请查看教程: 另外,您可能想查看堆栈溢出页面,我已发布了解决方案代码snip和相关有用信息。您
非常好的事情,请尝试一下。您可以编写自己的日志猫 当您的应用程序安装在真正的android设备上,并且没有连接到Eclipse以获取调试详细信息时 请查看教程:
另外,您可能想查看堆栈溢出页面,我已发布了解决方案代码snip和相关有用信息。您可以使用
UncaughtExceptionHandler
,如下所示:
public class UncaughtExceptionHandler implements java.lang.Thread.UncaughtExceptionHandler {
String Tag;
Context myContext;
public UncaughtExceptionHandler(Context context, String TAG) {
Tag = TAG;
myContext = context;
}
public void uncaughtException(Thread thread, Throwable exception) {
StringWriter sw = new StringWriter();
exception.printStackTrace(new PrintWriter(sw));
Logger.appendErrorLog(sw.toString(), Tag);
Intent intent = new Intent(myContext, ForceClose.class);
intent.putExtra(BugReportActivity.STACKTRACE, sw.toString());
myContext.startActivity(intent);
Process.killProcess(Process.myPid());
System.exit(10);
}
}
在第一个活动的onCreate()方法中调用此类:
Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler(getApplicationContext(),"FirstActivity"));
为什么logcat输出不够?@Henry该应用程序将安装在设备上,我想通过将日志保存到SDCard来解决它崩溃的原因。当设备通过USB连接到PC时,您可以获得此信息。即使在崩溃后不久才连接设备,也能正常工作。@Henry我想你没有意识到日志文件的重要性。请在网上搜索详细信息谢谢,acra很棒,但我想写我的代码。你能帮忙吗?