Google Analytics自定义异常格式
来源:互联网 发布:晚会抽奖软件 编辑:程序博客网 时间:2024/06/10 02:25
Google Analytics自定义异常格式
自动配置
可以在xml配置文件中直接配置以下字段,即可开启异常捕获与上传:
<bool name="ga_reportUncaughtExceptions">true</bool>
问题来了
用系统的默认ExceptionParser
会有下面2个问题:
1. 格式是按照GA默认的样式
2. 如果开启了混淆,就无法知道那个类文件出问题了
默认格式如下:异常名 (@类名:方法名:行数) {所在线程}
NullPointerException (@c:run:35) {main}
GA默认的异常解析类是StandardExceptionParser
,大家可以查看其中的getDescription(Throwable cause, StackTraceElement element, String threadName)
方法实现,里面定义了异常的格式。
解决方法
当然就是实现自己的ExceptionParser
,并设置为ExceptionReporter
内置的解析器,步骤如下:
- 继承
StandardExceptionParser
或者自己实现ExceptionParser
接口。这里选用继承StandardExceptionParser
,因为这个类里面为我们做了很多操作,例如其中里面有个getBestStackTraceElement()函数,他会从Throwable
对象中取出最关键的StackTraceElement
对象,方便后续进行处理。(注意下面重写了getDescription()3参数的方法,因为2参数那个方法也是调用它)
public class GAExceptionParser extends StandardExceptionParser { public GAExceptionParser(Context context) { this(context, new ArrayList<String>()); } public GAExceptionParser(Context context, Collection<String> additionalPackages) { super(context, additionalPackages); } @Override protected String getDescription(Throwable cause, StackTraceElement element, String threadName) { StringBuilder sb = new StringBuilder(); sb.append(cause.getClass().getSimpleName()); if (element != null) { sb.append(" "); sb.append(element.toString()); } if (threadName != null) { sb.append(String.format(" {%s}", new Object[]{threadName})); } return sb.toString(); }}
- 配置
ExceptionReporter
并将上述GAExceptionParser
设置为内置的解析器:
ExceptionReporter gaHandler = new ExceptionReporter( mTracker, // Currently used Tracker. Thread.getDefaultUncaughtExceptionHandler(), // Current default uncaught exception handler. context); // Context of the application.gaHandler.setExceptionParser(new GAExceptionParser(context));// Make our gaHandler to the new default uncaught exception handler.Thread.setDefaultUncaughtExceptionHandler(gaHandler);
- 通过上述设置后,奔溃的时候就会按照我们自定义的格式发送到后台服务器中了,修改后在后台看到的格式如下:
NullPointerException com.codezjx.googleanalyticstest.c.run(SecondActivity.java:35) {main}
- 参考:
https://developers.google.com/analytics/devguides/collection/android/v4/exceptions
0 0
- Google Analytics自定义异常格式
- Google Analytics新增自定义变量 Custom Variables
- Google Analytics
- Google Analytics
- Google Analytics
- google Analytics
- Google Analytics
- google analytics
- Google Analytics
- Google Analytics
- Google Analytics
- Google Analytics
- Google analytics 试用记
- Google Analytics服务真好用
- analytics -- Google 的使用。
- Google Analytics截图
- 删除Google Analytics账号
- Google Analytics 2.0
- 树和二叉树的应用
- [挖坑]未解决的题
- (大数据相关)2016-01-08北京海淀远大路
- 在Realview MDK中添加自己的FLASH编程算法
- Perl 面向对象的真正意思
- Google Analytics自定义异常格式
- unregisterReceiver报错处理 android
- 我在Ubuntu上安装Android Studio的全过程
- Spring拦截器
- lwip中Nagle 算法实现
- C++编程练习
- python项目之 路由器抓取器
- android 返回键的捕获
- 指针数组和数组指针