본문 바로가기

Android

Timber 사용하기 (android log)

반응형


https://github.com/JakeWharton/timber


Build.Gradle 에 dependency  를 추가합니다.


implementation 'com.jakewharton.timber:timber:4.7.1' // https://github.com/JakeWharton/timber


application on Create dㅔ서 다음과 같이 plant 를 설정한다.

if (BuildConfig.DEBUG) {
Timber.plant(Timber.DebugTree())
}


Timber 에서 TAG 를 명시적으로 지정해 주지 않는다면 class name 이 자동으로 TAG 로 처리된다.


MainActivity 에서 Timber를 이용하여 로깅을 하는 경우 

I/MainActivity: log message 형태로 출력됩니다.


특정영역에 TAG 를 custom 으로 쓰고 싶다면

Timber.tag("custom tag")

Timber.i("log message")


or


Timber.tag("custom tag").d("message...!") 

형태로 사용하면 됩니다.



결론. 클래스 마다 TAG 라는 변수를 만들지 않고 클래스 단위로 로깅을 쉽게 할 수 있다.




 예제 코드 

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

Timber.tag("LifeCycles")
Timber.d("Activity Created")

button1.setOnClickListener{

Timber.i("A button with ID %s was clicked to say '%s'.", button1.getId(), button1.getText())
Toast.makeText(this, "Check logcat for a greeting!", LENGTH_SHORT).show()

}

Timber.i("i 로 출력해보자.")
Timber.d("d 로 messge 출력")

Timber.tag("custom tag").d("message!!!!")
}

}


결과 출력


D/LifeCycles: Activity Created

I/MainActivity: i 로 출력해보자.

D/MainActivity: d 로 messge 출력

D/custom tag: message!!!!


// button 클릭 후


I/MainActivity$onCreate: A button with ID 2131165218 was clicked to say 'Hello World!'.