android-[日志记录/Log/Timber]
FangShiRui • 2020 年 05 月 31 日
Loading...
## Log
Android 中的日志工具类。
它提供了如下5个方法来供我们打印日志。
* Log.v() 。用于打印最为琐碎的信息。级别`Verbose`
* Log.d() 。用于打印调试信息。级别`Debug`
* Log.i()。用于打印比较重要的数据,这些数据是你非常想看到的,可以帮助分析用于行为。级别`Info`
* Log.w()。用于打印警告信息。提示程序在这个地方可能会有潜在的风险。级别`Warn`
* Log.w()。用于打印错误信息。一般用在catch语句中。级别`Error`
----------
## Timber
Timber是Log的升级拓展版。 使用它来记录日志会更加方便。它的优点包括
* 根据类名称为您生成日志标记。
* 帮助您避免在Android应用的发行版中显示日志。
* 允许与崩溃报告库集成。
使用步骤如下
#### 1. 添加依赖
在app级build.gradle文件中添加
```gradle
dependencies {
......
implementation 'com.jakewharton.timber:timber:4.7.1'
}
```
#### 2. 创建一个Application类并初始化Timber
Application类是每个应用都必须用到的类,该类是在所有活动之前创建的,并且可以保存应用程序的全局状态。它是操作系统与应用进行交互的主要对象。如果未在`manifests`文件指定,则会使用默认Application类。因此每个应用都会创建一个Application对象,而无须执行任何特殊操作。
而Timer之所以需要用到Application类,是因为整个应用程序都将使用此日志记录库,并且该库需要先初始化一次,再进行其他设置,所以我们可以新建一个自己的Application类,它继承于Application类。再重载相关默认方法。
新建一个特定的Application类
```kotlin
package com.example.android.你的程序名
class MyApplication : Application(){
override fun onCreate() {
super.onCreate()
// 初始化Timber
Timber.plant(Timber.DebugTree())
}
}
```
#### 3. 修改AndroidManifest.xml
使用自己的Application类来代替默认的
```xml
android:name=".MyApplication"
...
```
#### 4. 使用
将原本的Log.i()改为 Timber.i(),它可以自动帮我们写Tag,也就是说,它只需接收一个参数即可。
```kotlin
Timber.i("onCreate called")
```