Android 崩溃日志收集

原理
应用出现异常后,会由默认的异常处理器来处理异常,
我们要做的就是把这个任务接管过来,自己处理异常,包括收集日志,保存到本地,然后上传到服务器。

  • 步骤

1.自定义类 实现Thread.UncaughtExceptionHandler 接口

public class CrashHandler implements Thread.UncaughtExceptionHandler {

private static final String TAG = "CrashHandler";
private static CrashHandler INSTANCE = new CrashHandler();

private ISave mSave;//设置日志的保存方式  
private CrashHandler() { }//保证只有一个CrashHandler实例

/**
 * 获取CrashHandler实例 ,单例模式
 */
public static CrashHandler getInstance() {
    return INSTANCE;
}

/**
 * 初始化,,设置此CrashHandler来响应崩溃事件
 *
 * @param logSaver 保存的方式
 */
public void init(ISave logSaver) {
    mSave = logSaver;
    Thread.setDefaultUncaughtExceptionHandler(this);
}

/**
 * 当UncaughtException发生时会转入该函数来处理
 */
@Override
public void uncaughtException(final Thread thread, final Throwable ex) {
    Writer writer = new StringWriter();
    PrintWriter printWriter = new PrintWriter(writer);
    ex.printStackTrace(printWriter);
    Throwable cause = ex.getCause();
    while (cause != null) {
        cause.printStackTrace(printWriter);
        cause = cause.getCause();
    }
    printWriter.close();
    String stringBuilder = "↓↓↓↓exception↓↓↓↓\n" +
            writer.toString();
    mSave.writeCrash(thread, ex, TAG, stringBuilder);
    // 如果处理了,让主程序继续运行3秒再退出,保证异步的写操作能及时完成
    try {
        Thread.sleep(3000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
 }
}  

推荐源码

  • 三方SDK
    1.网易云捕
    2.腾讯bugly
    3.Bugtags
    4.蒲公英
    5.BugHD(fir.im)
    6.Testin
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目前大多数app都是使用三方库(例如友盟)实现崩溃日志收集, 但不一定了解是如何实现的。 今天工作不忙, 刚好有...
    brycegao阅读 10,648评论 0 5
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,776评论 25 709
  • 《爱乐之城》英文名字又叫,《La La Land》,这是一个落魄的爵士乐钢琴家小塞与女演员米娅之间关于爱情和梦想的...
    阿拉小仙儿阅读 2,844评论 0 0
  • 今天成甲老师更新一篇不追热潮是关于知识付费。有几点感悟1.知识焦虑,在移动互联网技术等技术推动下,信息爆炸和飞速流...
    水中望我阅读 1,332评论 0 1
  • 总有这样的人,你跟他说你过得很好,很知足,可是他非不信。他会问,你怎么有没有男(女)朋友,你什么时候结婚,什么时候...
    逸小文阅读 1,677评论 0 0