使用Log.isLoggable方法

时间:2021-08-22 06:12:42

在Audio Debug过程中想打开AudioService.java文件中的log,比如想打开setmode这段log:

if (DEBUG_MODE) { Log.v(TAG, "setMode(mode=" + mode + ")"); }

这边遇到一个DEBUG_MODE开关,其定义为:

private static final String TAG = "AudioService";

protected static final boolean DEBUG_MODE = Log.isLoggable(TAG + ".MOD", Log.DEBUG);

从定义来看,需要将TAG + “.MOD”定义成Log.DEBUG才能打开这个log开关。

实现方法:

方法1:

$adb shell setprop log.tag.AudioService.MOD DEBUG

该方法只是一次性的,即重启机器后,该属性log.tag.AudioService.MOD值会变为NULL,需要重新配置。另外还有一个注意点是,通过setprop方式设置属性后,还需要重启framework,这样才能让系统识别到该属性有被重新配置过。

重启framework的命令:$adb shell stop && $adb shell start

方法2:

#echo log.tag.AudioService.MOD=DEBUG > /data/local.prop

#chmod 644  /data/local.prop

#reboot

该方法是永久的,重启机器后,属性值依旧,无需重新配置。