android 如何动态打印日志

android java层的日志输出不能动态控制,在应用启动时不能控制日志的开关,是不是让大家很不爽,有木有。
下面给大家介绍一种动态控制logcat日志开关的方法。

其实该开关android已经给大家提供了,通过Log.isLoggable(TAG,level)方法动态控制,
1.添加日志的时候加入判断,
if (Log.isLoggable("Mms:transaction", Log.VERBOSE)) {
    Log.w(TAG, "ConnectivityBroadcastReceiver.onReceive() action: " + action);
}
2.通过设置属性值来控制该日志开关。
adb shell setprop log.tag.Mms:transaction D 设置该TAG的输出级别为D。 则Log.isLoggable("Mms:transaction", Log.VERBOSE) level为D以上的都返回true.
该属性值取值顺序为【V,D,I,W,E,A,S】 A表示最高级别的日志,即assert;S表示Suppress,即停止该日志的输出。

也可以将该属性添加在data/local.prop属性文件中。

你可能感兴趣的:(android 如何动态打印日志)