码迷,mamicode.com
首页 > 移动开发 > 详细

Android 简易崩溃日志保存

时间:2016-07-14 02:46:48      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

仅仅做了简单的保存到了本地而已;

根据需要可以继续增加功能:

  下一次启动上传到服务器;

  增加应用版本,机型系统版本信息等;

 

public class CrashSaver {

    public static CrashSaver crashSaver;
    private Context mContext;
    private Thread.UncaughtExceptionHandler mUncaughtExceptionHandler;

    public CrashSaver(Context context) {
        mContext = context;
        mUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
        Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
            @Override
            public void uncaughtException(Thread thread, Throwable ex) {
                saveLog(ex);
                mUncaughtExceptionHandler.uncaughtException(thread, ex);
            }
        });
    }

    private void saveLog(Throwable ex) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String timeStamp = sdf.format(new Date(System.currentTimeMillis()));
        File file = new File(Environment.getExternalStorageDirectory()
                + File.separator + "CrashLog"
                + File.separator + timeStamp + ".txt");
        if (!file.getParentFile().exists())
            file.getParentFile().mkdirs();
        try {
            StackTraceElement[] stes = ex.getStackTrace();
            StringBuilder sb = new StringBuilder("");
            for (StackTraceElement ste : stes)
                sb.append(ste.toString() + "\n");
            FileWriter writer = new FileWriter(file);
            writer.write(sb.toString());
            writer.flush();
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    // 应用启动时调用一次即可
    public static void init(Context context) {
        if (crashSaver == null)
            crashSaver = new CrashSaver(context);
    }
}

 

Android 简易崩溃日志保存

标签:

原文地址:http://www.cnblogs.com/icer-chn/p/5668688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!