前言
Log 日志在 Android 项目开发中的作用非常重要,但项目越做越大,开发者会面临很多问题,比如管理各种不同的 Log,不同版本控制是否输入 Log 等。Timber 是一个轻量级的第三方库,能够帮助开发者更好的使用 Android Log。
面临问题
- 项目使用 Log 规范不统一,例如:关于 okhttp 的实现使用了 Logging Interceptor 输出 log,关于 rxjava 的实现使用了 onError,其他使用了 Android Log 机制。
- 项目开发时,为了方便调试,需要输出 Log,但发布后,Log 中包含很多项目相关的信息,如果全部暴露会有安全隐患,但完全删除也不利于发生问题后的查看调试,因此需要一个开关,关闭开关则不能输出 log,打开开关则可以输出 log。
Timber 介绍
Timeber 的使用主要通过添加 Tree
实例,添加 Tree
实例可以通过方法 Timber.plant
完成。实例化 Tree 需要尽量早,推荐在项目 Application
的 onCreate()
方法中完成。其中,DebugTree
自动实例化,是 Timber 中已经实现了 tree 的类,可直接拿来用,并在使用他的类中以类名为其 TAG
,但是其他的 Tree
不会自动实例化,需要进行手动实现扩展 Timber.Tree
实现。