Mah*_*asi 6 android timber-android
我听说过Timber并且正在阅读 github README,但它悄悄地让我感到困惑。
行为是通过 Tree 实例添加的。您可以通过调用 Timber.plant 安装实例。应尽早安装树木。应用程序的 onCreate 是最合乎逻辑的选择。
什么行为?
这是一个带有小型、可扩展 API 的记录器,它在 Android 的普通 Log 类之上提供实用程序。
它在 Android 的日志之上还提供了什么?
DebugTree 实现将自动确定它是从哪个类调用的,并使用该类名作为其标记。由于标签各不相同,当与像 Pidcat 这样的日志阅读器结合使用时,它的效果非常好。
什么是调试树?
默认情况下没有安装 Tree 实现,因为每次登录生产时,都会有一只小狗死去。
再次,什么是树实现?它有什么作用?我如何停止杀死小狗?
两个简单的步骤:
在应用程序类的 onCreate 中安装所需的任何 Tree 实例。
在整个应用程序中随处调用 Timber 的静态方法。
完成什么的两个简单步骤?
这些都没有在自述文件中解释。对于已经知道它是什么的人来说,这几乎是一个描述:/
问题 :-
我们不想在 Signed 应用程序中打印日志,因为我们有时可能会记录合理的信息。通常为了克服这个开发人员倾向于在写日志之前写 if 条件
例子:-
if(BuildConfig.DEBUG) {
Log.d(TAG,userName);
}
Run Code Online (Sandbox Code Playgroud)
所以每次你想打印日志时,你都需要写一个 if 条件和一个 TAG,大多数时候都是类名
木材解决这两个问题
您只需要在应用程序类中检查一次条件并初始化 Timber.plant
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
if (BuildConfig.DEBUG) {
Timber.plant(DebugTree())
}
}
}
Run Code Online (Sandbox Code Playgroud)
剩下的所有地方我们可以在Timber.d("Message")没有任何标签或 if 条件的情况下写 。
如果你想要一个不同的标签,那么你可以使用
Timber.tag("Tag").d("message");
Run Code Online (Sandbox Code Playgroud)
编辑 :
您也可以在 Timber 中种植自己的树,并做一些很酷的事情,例如仅记录警告和发布错误,将警告和错误日志发送到服务器等。例如
import timber.log.Timber;
public class ReleaseTree extends Timber.Tree {
@Override
protected void log(int priority, String tag, String message, Throwable t) {
if (priority == ERROR || priority == WARNING){
//Send to server
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以为不同的构建风格种植不同的树木。
| 归档时间: |
|
| 查看次数: |
1572 次 |
| 最近记录: |