Sre*_*ree 6 android android-log timber-android
在DebugTree日志中,我看到了类名,但是当我创建自定义树时,标签就是null.这是我的自定义树的样子:
public class CrashlyticsTree extends Timber.Tree {
private static final String CRASHLYTICS_KEY_PRIORITY = "priority";
private static final String CRASHLYTICS_KEY_TAG = "tag";
private static final String CRASHLYTICS_KEY_MESSAGE = "message";
@Override
protected boolean isLoggable(int priority) {
if (priority == Log.VERBOSE || priority == Log.DEBUG || priority == Log.INFO) {
return false;
}
// only log WARN(Timber.w), ERROR(Timber.e), or WTF(Timber.wtf)
return true;
}
@Override
protected void log(int priority, @Nullable String tag, @Nullable String message, @Nullable Throwable t) {
if(User.CurrentUser.isLoggedIn()){
Crashlytics.setUserIdentifier(Long.toString(User.CurrentUser.getUserId()));
}
Crashlytics.setInt(CRASHLYTICS_KEY_PRIORITY, priority);
Crashlytics.setString(CRASHLYTICS_KEY_TAG, tag);
Crashlytics.setString(CRASHLYTICS_KEY_MESSAGE, message);
if (t == null) {
Crashlytics.logException(new Exception(message));
} else {
if(!TextUtils.isEmpty(message)){
Crashlytics.log(priority, tag, message);
}
Crashlytics.logException(t);
}
}
}
Run Code Online (Sandbox Code Playgroud)
然而,即使从DebugTree,生成的标记是BaseActivity因为它确实来自BaseActivity但是我想知道是否有一种方法可以获得扩展BaseActivity的类的名称
小智 6
根据杰克·沃顿的说法:
tag除非您tag(String)在日志站点上调用或从其扩展名DebugTree(对于生产日志记录不应该这样做),否则其为null 。
因此,您需要Timber.tag([class name])在每个呼叫之前添加。
见github.com/JakeWharton/timber/issues/122
| 归档时间: |
|
| 查看次数: |
1852 次 |
| 最近记录: |