android Log.isLoggable使用
2017-05-17 23:46
363 查看
android 动态控制logcat日志开关,通过Log.isLoggable(TAG,level)方法动态控制。
此API可以实现不更换APK,在出问题的手机上就直接能抓到有效log,能提升不少工作效率。
该方法说明:
从以上定义中可以知道:
1. isLoggable默认level为android.util.Log.INFO;
只有 level >= INFO才能输出,即level >= INFO时isLoggable返回true,反之则返回false;
可以通过setprop log.tag. 来改变log的默认level,如adb shell setprop log.tag.InCall D。也可以将这些属性按照log.tag.InCall=D的形式,写入/data/local.prop中;
tag的长度如果超过23个字符则会抛出IllegalArgumentException异常;
在android.util.Log类中定义了Log的6种Level,如下:
VERBOSE 、DEBUG 、INFO 、WARN 、ERROR 、ASSERT 。
参考Android ADB 端口占用问题解决方案
也可以以指定端口启动adb,例:adb -P 5000 start-server;
2\adb shell error: no devices/emulators found
可以使用adb kill-server、adb start-server重新启动adb服务
此API可以实现不更换APK,在出问题的手机上就直接能抓到有效log,能提升不少工作效率。
该方法说明:
/** * 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.<YOUR_LOG_TAG> <LEVEL>' * 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.<YOUR_LOG_TAG>=<LEVEL>' * and place that in /data/local.prop. * * @param tag The tag to check. * @param level The level to check. * @return Whether or not that this is allowed to be logged. * @throws IllegalArgumentException is thrown if the tag.length() > 23. */ public static native boolean isLoggable(String tag, int level);
从以上定义中可以知道:
1. isLoggable默认level为android.util.Log.INFO;
只有 level >= INFO才能输出,即level >= INFO时isLoggable返回true,反之则返回false;
可以通过setprop log.tag. 来改变log的默认level,如adb shell setprop log.tag.InCall D。也可以将这些属性按照log.tag.InCall=D的形式,写入/data/local.prop中;
tag的长度如果超过23个字符则会抛出IllegalArgumentException异常;
在android.util.Log类中定义了Log的6种Level,如下:
VERBOSE 、DEBUG 、INFO 、WARN 、ERROR 、ASSERT 。
遇到的问题
1、adb端口被占用参考Android ADB 端口占用问题解决方案
也可以以指定端口启动adb,例:adb -P 5000 start-server;
2\adb shell error: no devices/emulators found
可以使用adb kill-server、adb start-server重新启动adb服务
相关文章推荐
- android Log.isLoggable步骤的使用
- android Log.isLoggable方法的使用
- android Log.isLoggable步骤的使用
- android Log.isLoggable步骤的使用
- android Log.isLoggable步骤的使用
- android Log.isLoggable方法的使用
- android:分享 一个很强大的LOG开关---Log.isLoggable
- Log.isLoggable之一正确的使用姿势
- Log.isLoggable之一正确的使用姿势
- android:分享 一个很强大的LOG开关---Log.isLoggable
- Android Log.isLoggable方法异常:exceeds limit of 23 characters
- android:分享 一个非常强大的LOG开关---Log.isLoggable
- android:分享 一个很强大的LOG开关---Log.isLoggable
- 【Android笔记 一】Log的介绍及使用方法
- 关于Android写LOG日志到SD卡文件之microlog4android使用
- android 调试利器Log的使用
- Android 下log的使用总结
- Android 下log的使用总结
- 【Based Android】Log的介绍及使用方法
- 在android jni中使用log