에뮬레이터와 단말기의 로그레벨이 아무래도 기본 「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