为Android应用创建日志文件

时间:2012-12-28 07:28:21

标签: android exception logging

我想为我的Android应用创建一个日志文件。我需要这个来调试应用程序的随机崩溃。

我想创建一个函数,如果存在未经处理的异常,则始终会调用该函数。在日志中我想要异常消息。是否有任何事件类型机制将在ANdroid中的unhandelled异常中调用?

3 个答案:

答案 0 :(得分:2)

尝试使用android Android Acra

真的很好请试试这个。

答案 1 :(得分:2)

您可以编写自己的日志猫,

当您的应用程序安装在真实的Android设备上而未连接到Eclipse以获取调试详细信息时。

请查看教程:Read & Store Log-cat Programmatically in Android

您也可以查看this堆栈溢出页面,我已发布解决方案代码片段和相关的有用信息。

答案 2 :(得分:2)

您可以使用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"));