【发布时间】:2016-02-10 23:13:21
【问题描述】:
我在 Utility.class 中有一个实用程序方法,它是用于发送 Crashlytics 事件的包装器。
public static void logCrashlyticsEvent(String message) {
...
Crashlytics.getInstance().core.logException(new Exception(message));
...
}
问题是每当我从另一个类中使用它时,Crashlytics 仪表板都会将事件源显示为 Utility.class,如下所示:
Utility.java line 106
com.myApp.util.Utility.logCrashlyticsEvent
而不是将它显示为调用它的实际类。
有没有办法包装对 Crashlytics 的调用,使其仍将调用类显示为事件源?
谢谢。
编辑: 只是为了改进@Andre Classen 解决方案。
public static void logCrashlyticsEvent(HandledException e) {
Crashlytics.getInstance().core.logException(e);
Timber.e("Message: %s", e.getMessage());
// More stuff
}
处理异常:
public class HandledException extends Exception {
public HandledException(@NonNull String message, Object... args) {
super(String.format(message, args));
}
}
用法:
Utility.logCrashlyticsEvent(new HandledException("Cast exception, input value1: %s, value2: %s", someValue, anotherValue));
【问题讨论】:
标签: android crash-reports crashlytics twitter-fabric