使用Log.isLoggable方法
在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
该方法是永久的,重启机器后,属性值依旧,无需重新配置。