Android setprop 后 Logcat 上仍可观察到 Loggable
Android Loggable can still be observerd on Logcat after setprop
在我做任何更改之前,我为所有级别打印了 Log.isLoggable(MYAPP_TAG)
。
I/System.out﹕ MYAPP Loggable Level: [V:false][D:false][I:true][W:true][E:true]
然后我做了 adb shell setprop log.tag.MYAPP_TAG WARN
。
Log.isLoggable(MYAPP_TAG)
消息现在变成了
I/System.out﹕ MYAPP Loggable Level: [V:false][D:false][I:false][W:true][E:true]
但是,仍然可以在 Logcat 中观察到所有日志消息(Log.v
、Log.d
等)。
02-03 13:18:28.050 3284-3284/com.XX V/MYAPP_TAG﹕ onServiceConnected
02-03 13:18:28.050 3284-3284/com.XX D/MYAPP_TAG﹕ onServiceConnected
这是为什么?
我认为您需要包装日志:
if (Log.isLoggable("MY_TAG", Log.VERBOSE)) {
Log.v("MY_TAG", "Here's a log message");
}
否则 android 似乎忽略了您的设置; Log.v, Log.d, etc.
似乎没有检查 LogLevel。
在我做任何更改之前,我为所有级别打印了 Log.isLoggable(MYAPP_TAG)
。
I/System.out﹕ MYAPP Loggable Level: [V:false][D:false][I:true][W:true][E:true]
然后我做了 adb shell setprop log.tag.MYAPP_TAG WARN
。
Log.isLoggable(MYAPP_TAG)
消息现在变成了
I/System.out﹕ MYAPP Loggable Level: [V:false][D:false][I:false][W:true][E:true]
但是,仍然可以在 Logcat 中观察到所有日志消息(Log.v
、Log.d
等)。
02-03 13:18:28.050 3284-3284/com.XX V/MYAPP_TAG﹕ onServiceConnected
02-03 13:18:28.050 3284-3284/com.XX D/MYAPP_TAG﹕ onServiceConnected
这是为什么?
我认为您需要包装日志:
if (Log.isLoggable("MY_TAG", Log.VERBOSE)) {
Log.v("MY_TAG", "Here's a log message");
}
否则 android 似乎忽略了您的设置; Log.v, Log.d, etc.
似乎没有检查 LogLevel。