Android Log.isLoggable

Log.isLoggable

API中关于此方法的说明:

Checks to see whether or not a log for the specified tag is loggable at the specified level. The default level of any tag is set to INFO. This means that any level above and including INFO will be logged. Before you make any calls to a logging method you should check to see if your tag should be logged. You can change the default level by setting a system property: ‘setprop log.tag. ’ Where level is either VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT, or SUPPRESS. SUPPRESS will turn off all logging for your tag. You can also create a local.prop file that with the following in it: ‘log.tag.=’ and place that in /data/local.prop.

Log.isLoggable()的默认log级别是INFO,像级别低一些的DEBUG和VERBOSE的log就直接被过滤掉了。使用此API,我们可以实现按需求控制log打印:

在正式版本中,像一些DEBUG和VERBOSE的log不会被打印出来,减少了系统打印的log数量

在我们平时调试的时候,可以手动设置log输出级别,

所有应用都采用同样的过滤方式,比设置boolean变量控制方便

final String TAG = "Test";
Log.v(TAG, "verbose is active: " + Log.isLoggable(TAG, Log.VERBOSE));
Log.d(TAG, "debug is active: " + Log.isLoggable(TAG, Log.DEBUG));
Log.i(TAG, "info is active: " + Log.isLoggable(TAG, Log.INFO));
Log.w(TAG, "warn is active: " + Log.isLoggable(TAG, Log.WARN));
Log.e(TAG, "error is active: " + Log.isLoggable(TAG, Log.ERROR));

输出

VERBOSE/Test(598): verbose is active: false
DEBUG/Test(598): debug is active: false
INFO/Test(598): info is active: true
WARN/Test(598): warn is active: true
ERROR/Test(598): error is active: true

法的信息可以看出,有2种方式可以修改log过滤级别

  • setprop
adb root

adb shell setprop log.tag.TAG VERBOSE

//在我们的开发板子上面,直接在串口下面输入setprop log.tag.TAG VERBOSE,注意,TAG是我们自己定义的TAG名称

但大多數log都不適用,因為它們是在boot時就決定是否要印出log,而此property性質在重開機後就消失

  • 利用local.prop

在linux上,vim local.prop,並寫入 log.tag.TAG=VERBOSE (TAG為依據framework上所設定的TAG, = 要加)

adb root
adb remount
adb push local.prop /data/local.prop
adb shell chmod 644 /data/local.prop
adb shell chown root.root /data/local.prop
adb reboot
//在开发版上面,直接cp文件到/data
cp XXX/local.prop /data
chmod 644 /data/local.prop
chown root.root /data/local.prop
reboot

参考如下:
http://www.dotblogs.com.tw/kent2480/archive/2014/03/21/144467.aspx
http://stackoverflow.com/questions/7948204/does-log-isloggable-returns-wrong-values

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值