Log.isDebugEnabled()使用场景
Posted luceion
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Log.isDebugEnabled()使用场景相关的知识,希望对你有一定的参考价值。
由于代码中部分日志想只在Debug模式下才打印出来,如果是Info模式就会显得太多了。所以很自然的就想到直接LOG.debug(……)。但是看到了以前一个大牛的代码,发现打印debug的时候都加了一层判断,就是Log.isDebugEnabled(),看着很奇怪,既然已经是Debug模式,为什么还需要加这么一层判断呢??
自己搜索了一下,原来这个问题别人也注意过,给出了这样的回答,就是当要打印的debug信息比较复杂,比如我的就是,要把整个List打印出来,这时候就适合加Log.isDebugEnabled()判断,原因如果不加,LOG还是会构造里面的串,如果比较复杂,构造了却不打印,很浪费。所以这个时候最好加一层判断。
当然,如果里面就是一个简单的字符串,还是可以直接LOG.debug(……)而不需加判断的。
最后,记住这种使用模式:
if (LOG.isDebugEnabled()) { LOG.debug("Input Object/List/Map:" + Object/List/Map); }
以上是关于Log.isDebugEnabled()使用场景的主要内容,如果未能解决你的问题,请参考以下文章
没有调试日志代码保护的apache.commons.logging.log性能
Mybatis中在关闭连接之前为什么要设置自动提交为true?
浏览器浏览器存储&缓存 - Cookie - localStorage - sessionStorage - IndexDB - Cache Storage - Application C(代