DEBUG方法比较
当我们在做APP开发时,需要设置调试开关打印Log,下面我列举出3种方法:

方法一:直接赋值
public static final boolean DEBUG = true;//false
1
方法二:设置BuildConfig.DEBUG的值
public static final boolean DEBUG = BuildConfig.DEBUG;
1
方法三:设置Log.isLoggable的值
public static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
1
当然这里可能还有很多别的设置方法,由于个人局限就没有写了。下面我们来看看上面3种方法各自的特点:

方法一比较直观明了,可以清楚的知道是否允许打印Log。

方法二和编译模式绑定,如果是release版的就不会打印Log,如果是debug版的话就会打印Log。

方法三通过设置property属性来打印Log

从他们的特点来看我们知道,第一种和第二种方法我们至少需要编译两个版本的软件用于发布和调试。
第三种方法我们只需要编译一个版本既可以。在我们需要查看Log的时候,通过设置property即可查看Log。下面来详细介绍下Log.isLoggable的使用。

Log.isLoggable的使用姿势
步骤一:
MainActivity.java

public static final String TAG = "Main";
public static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);

public void onCreate(){
if (DEBUG){
Log.d(TAG, "onCreate");
}
}

步骤二:
adb shell setprop log.tag.Main D
1
或者
修改/data/local.prop文件(该方法不一定有效,根据不同的系统,可能不会去读取local.prop文件)

log.tag.Main=D
1
注:这里的TAG要加上log.tag.做前缀

步骤三:
退出APP,重新进入,即可打印Log(注:这里之所以要退出APP是因为我们定义的DEBUG是全局的,所以需要重新赋值)。
当然你们也可以设置成局部变量,这样就不需要重新进入了,这样就可以免除第三步。
---------------------
https://blog.csdn.net/qqxiaoqiang1573/article/details/72867776

Log.isLoggable之一正确的使用姿势的更多相关文章

  1. 如约而至,Java 10 正式发布! Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十四)Redis缓存正确的使用姿势 努力的孩子运气不会太差,跌宕的人生定当更加精彩 优先队列详解(转载)

    如约而至,Java 10 正式发布!   3 月 20 日,Oracle 宣布 Java 10 正式发布. 官方已提供下载:http://www.oracle.com/technetwork/java ...

  2. 使用Log.isLoggable方法

    在Audio Debug过程中想打开AudioService.java文件中的log,比如想打开setmode这段log: if (DEBUG_MODE) { Log.v(TAG, "set ...

  3. android Log.isLoggable步骤的使用

    原文地址: http://www.cnblogs.com/maxinliang/p/4024442.html android Log.isLoggable方法的使用 android 动态控制logca ...

  4. android:分享 一个很强大的LOG开关---Log.isLoggable

    标签:android分享 一个很强大的log开 1.API亮点: 此API可以实现不更换APK,在出问题的手机上就直接能抓到有效log,能提升不少工作效率. 2.API介绍 最近在解决短信问题时,看到 ...

  5. Android Log.isLoggable方法异常:exceeds limit of 23 characters

    AndroidRuntime: java.lang.IllegalArgumentException: Log tag "AccountSetupIncomingFragment" ...

  6. android:分享 一个非常强大的LOG开关---Log.isLoggable

    1.API亮点: 此API能够实现不更换APK.在出问题的手机上就直接能抓到有效log,能提升不少工作效率. .API介绍 近期在解决短信问题时.看到一个非常强大的LOG开关---Log.isLogg ...

  7. Servlet3.0+springmvc5+log4j2正确的开启姿势(WebLookUp)

    前言 java社区占据市场份额比较大的日志组件由log4j 1.×,到logback,再到整合后的升级版 log4j 2.×,有网友测试后据说log4j2的性能最NB.于是开始往自己的springmv ...

  8. How Javascript works (Javascript工作原理) (五) 深入理解 WebSockets 和带有 SSE 机制的HTTP/2 以及正确的使用姿势

    个人总结: 1.长连接机制——分清Websocket,http2,SSE: 1)HTTP/2 引进了 Server Push 技术用来让服务器主动向客户端缓存发送数据.然而,它并不允许直接向客户端程序 ...

  9. 论consul正确的关闭姿势

    最近在工作中发现一个有意思的现象,我用 ctrl+c 关闭本地 consul 的时候,报警系统并没有发出告警,说我的 node 异常,自己看了一下代码,发现 consul 的关闭还是有点猫腻的,仔细来 ...

随机推荐

  1. centos django Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING

    os环境 centos python2.7.5 django1.10.8 class AdminAutoRunTask(View): """ 自动跑外放任务 " ...

  2. Monkey简介

    Monkey简介 在Android的官方自动化测试领域有一只非常著名的“猴子”叫Monkey,这只“猴子”一旦启动,就会让被测的Android应用程序像猴子一样活蹦乱跳,到处乱跑.人们常用这只“猴子” ...

  3. SVD/SVD++实现推荐算法

    奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不仅可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域. ...

  4. [模板] K-D Tree

    K-D Tree K-D Tree可以看作二叉搜索树的高维推广, 它的第 \(k\) 层以所有点的第 \(k\) 维作为关键字对点做出划分. 为了保证划分均匀, 可以以第 \(k\) 维排名在中间的节 ...

  5. JarvisOJ Basic Help!!

    出题人硬盘上找到一个神秘的压缩包,里面有个word文档,可是好像加密了呢~让我们一起分析一下吧! 首先用7zip解压缩,发现是一个word文件,说什么flag被藏起来了 觉得是不是应该有什么附加的信息 ...

  6. Red Hat Enterprise Linux AS4, C++ OCCI connect Oracle 9i

    前提是已经安装好Oracle 9i. 1. 下载对应的ORACLE client安装. http://www.oracle.com/technetwork/database/features/inst ...

  7. 初步了解Bootstrap4

    Bootstrap 是全球最受欢迎的前端组件库,用于开发响应式布局.移动设备优先的 WEB 项目. Bootstrap4 目前是 Bootstrap 的最新版本,是一套用于 HTML.CSS 和 JS ...

  8. AWS设置允许root登陆

    Refer to the following to set root login: sudo -s (to become root) vi /root/.ssh/authorized_keys Del ...

  9. css经常使用的六种文本样式

    css当中经常使用的六种文本样式 css 文本样式是相对于内容进行的样式修饰,下面来说下几种常见的文本样式. 首行缩进 首行缩进是将段落的第一行缩进,这是常用的文本格式化效果.一般地,中文写作时开头空 ...

  10. pgsql 执行建库脚本时候出现ERROR: relation "xxx_id_seq" does not exist

    1. 问题: ERROR: relation "xxx_id_seq" does not exist 2. 出现原因:由于表中建立了自增字段,id定义为Serial 类型,当执行完 ...