728x90
Timber
- Timber github : github.com/JakeWharton/timber
- Android 개발할 때 Log를 편리하게 남길 수 있게 도와주는 라이브러리입니다.
Log와 Timber 비교
- Log와 Timber 사용법
Log.d("JhDroid_Test", "Hello! JhDroid")
Timber.d("Hello! JhDroid")
- Timber는 Tag를 추가할 필요가 없습니다.
- Log와 Timber Logcat 비교
Log.d
2021-01-06 12:40:14.791 20261-20261/com.jhdroid.fcm D/JhDroid_Test: Hello! JhDroid
Timber.d
2021-01-06 12:40:14.791 20261-20261/com.jhdroid.fcm D/MainActivity: Hello! JhDroid
- Log의 Tag자리에 Timber를 호출한 클래스명이 옵니다.
- Timber는 Tag를 추가할 필요가 없지만 필요에 따라 Tag를 추가할 수 있습니다.
Timber.tag("JhDroid_Test").d("Hello! JhDroid")
- 이렇게 사용하는 경우 클래스명이 위치하던 자리에 tag() 함수에 설정한 Tag가 들어가게 됩니다.
Timber.tag.d
2021-01-06 12:53:12.310 21373-21373/com.jhdroid.fcm D/JhDroid_Test: Hello! JhDroid
Timber 적용
- 의존성 추가
implementation "com.jakewharton.timber:timber:4.7.1"
- Application클래스에서 Timber 설정(Application클래스는 Manifest에 설정된 상태)
class JhDroidApplication : Application() {
override fun onCreate() {
super.onCreate()
Timber.plant(Timber.DebugTree())
}
}
- Timber를 이용한 Log 남기기
Timber.d("Hello! Timber!")
Timber Log를 Debug 상태에서만 출력하기
- Timber를 사용해도 따로 설정을 해주지 않으면 release 상태일 때도 출력이 됩니다.
- Application 클래스에서 Timber 설정 변경
class JhDroidApplication : Application() {
override fun onCreate() {
super.onCreate()
if (BuildConfig.DEBUG) {
Timber.plant(Timber.DebugTree())
}
}
}
- BuildConfg.DEBUG를 이용해 Timber를 Debug 상태에서만 출력하도록 설정합니다.
- BuildConfig 사용 시 주의할 점
- import가 가끔 다른 패키지의 BuildConfig가 사용되는 경우가 있으니 꼭 자신의 패키지의 BuildConfig가 맞는지 확인하고 사용하셔야 합니다.
Timber를 이용해 더 상세한 Log를 남기는 방법
- 위 코드들은 모두 Timber의 기본 DebugTree 클래스를 사용했는데 이 DebugTree 클래스를 상속받아 더 상세한 Log를 남길 수 있습니다.
- 제가 자주 사용하는 DebugTree 클래스를 공유하고 Log를 어떤 식으로 남기는지 확인해보겠습니다.
- TimberDebugTree
class TimberDebugTree : Timber.DebugTree() {
override fun createStackElementTag(element: StackTraceElement): String? {
return "${element.fileName}:${element.lineNumber}#${element.methodName}"
}
}
- CustomDebugTree 적용
class JhDroidApplication : Application() {
override fun onCreate() {
super.onCreate()
if (BuildConfig.DEBUG) {
Timber.plant(TimberDebugTree())
}
}
}
- Log 확인
2021-01-06 13:06:30.688 21677-21677/com.jhdroid.fcm D/MainActivity.kt:15#onCreate: Hello! JhDroid, Hello! Timber!
- 클래스명(파일명)과 로그를 출력하는 코드라인 넘버, 호출하는 함수명을 Tag자리에 추가해줍니다.
- TimberDebugTree클래스를 수정해 다른 데이터를 추가하거나 제거할 수 있으니 잘 활용하시길 바랍니다!
* 글에 틀린 부분이 있으면 댓글 부탁드립니다 :D
728x90
'개발 > Android' 카테고리의 다른 글
[Android] Android TV 새로운 프로젝트 생성 (0) | 2021.01.20 |
---|---|
[Android] Android TV와 개발 주의사항 (2) | 2021.01.19 |
[Android] OpenCSV로 안드로이드에서 csv 파일 읽고 쓰기 (2) | 2021.01.08 |
[Android] Firebase - Android 연동 방법 (0) | 2021.01.05 |
[Android] Firebase SHA1 확인 (0) | 2021.01.05 |