안드로이드
[Android] Timber로 Debug 상태에서 로그 찍어내기
Zibro
2022. 4. 30. 22:30
728x90
반응형
Timber? 🐞
Timber는 Android의 Log 클래스 위에 구축된 로깅 유틸리티 클래스입니다.
Debug 상태에서 Log를 남기고, Release 상태에서 Log를 출력하고 싶지 않을 때 주로 사용합니다.
반응형
사용법🤷🏻♂️
1. app 수준의 build.gradle에 Timber 의존성 추가 (22.04.30일 기준 라이브러리 버전)
implementation 'com.jakewharton.timber:timber:5.0.1'
2. Debug 상태에서만 로그를 출력하기 위해 앱 시작 시 Timber 초기화해주어야 합니다.
class Application: Application() {
override fun onCreate() {
super.onCreate()
if(BuildConfig.DEBUG){
Timber.plant(Timber.DebugTree())
}
}
}
3. Timber 초기화 코드를 앱이 시작하자마자 실행시키기 위해 Manifest에 추가 해줍니다.
<application
android:name=".Application"
...
>
<activity
...
>
...
</activity>
</application>
4. 로깅을 하기 위한 곳에 Timber 추가해줍니다.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Timber.d("Hello! World")
Log.d("Print_Log","Hello! World")
}
}
출력
Timber는 Tag를 별도로 지정해주지 않아도 호출 한 클래스명이 Tag로 들어가 출력이 됩니다.
Timber에서 아래와 같이 Tag를 별도로 지정해 줄 수 있습니다.👇🏻
Timber.tag("Print_Timber").d("Hello! World")
Timber.DebugTree()를 커스텀 통해 상세한 Log 남기기
class CustomTimberTree: Timber.DebugTree() {
override fun createStackElementTag(element: StackTraceElement): String? {
return "${element.className}:${element.lineNumber}#${element.methodName}"
}
}
CustomTimberTree Timber에 적용
class Application: Application() {
override fun onCreate() {
super.onCreate()
if(BuildConfig.DEBUG){
Timber.plant(TimberDebugTree())
}
}
}
출처🚀
github.com/JakeWharton/timber
https://jhdroid.tistory.com/9
728x90
반응형