2010年9月1日水曜日

[Android] 로그 레벨 설정방법

Android 로그 레벨 설정방법

에뮬레이터와 단말기의 로그레벨이 아무래도 기본 「INFO」인듯하다.

테스트해보면


Log.isLoggable(TAG, Log.VERBOSE) == false
Log.isLoggable(TAG, Log.DEBUG) == false
Log.isLoggable(TAG, Log.INFO) == true
Log.isLoggable(TAG, Log.WARN) == true
Log.isLoggable(TAG, Log.ERROR) == true



그렇기 때문에 아래와 같은 경우는 로그가 출력되지만,

Log.d(TAG, msg); // 로그레벨과 상관없이 출력됨.



다음의 코드는 출력되지 않는다.

if(Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, msg); // 로그레벨이 「DEBUG」이상인 경우, 출력됨.
}


특정 로그태그의 로그레벨을 설정하는 방법은

$ ./adb shell setprop log.tag.<your_log_tag> <level>



예를 들어 TAG가 「BABUKUMA」인 경우는

$ ./adb shell stop
$ ./adb shell setprop log.tag.BABUKUMA DEBUG
$ ./adb shell start


다시 테스트해본 결과는

Log.isLoggable(TAG, Log.VERBOSE) == false
Log.isLoggable(TAG, Log.DEBUG) == true
Log.isLoggable(TAG, Log.INFO) == true
Log.isLoggable(TAG, Log.WARN) == true
Log.isLoggable(TAG, Log.ERROR) == true