エミュレータと実機のログレベルがどうやらデフォルト「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