我的意思是我看到一些帖子提到log.debug(“something”)在进行日志记录之前进行隐式调用以查看是否已启用调试模式日志记录.我错过了什么,或者在使用之前是否有中间步骤?
谢谢!
log.debug("ResultSet rs is retrieved from OracleTypes");
VS
if(log.isDebugEnabled()){
log.debug("ResultSet rs is retrieved from OracleTypes");
}
解决方法:
该声明:
if(log.isDebugEnabled()){
仅用于性能原因.它的使用是可选的,因为它在内部由log方法调用.
但是现在你问这个检查是否是内部检查的,那我为什么要使用呢?
这很简单:如果你记录的内容很简单:
log.debug("ResultSet rs is retrieved from OracleTypes");
然后你不需要做任何检查.如果你使用append运算符()组合一个字符串来记录,如下所示:
log.debug("[" + System.getTimeInMillis() + "] ResultSet rs is retrieved from OracleTypes");
在这种情况下,您应该检查日志是否已启用,因为如果不是,即使没有创建日志,字符串组成也是如此.我必须提醒你,使用运算符“”来连接字符串是非常低效的.
标签:java,logging,if-statement,log4j
来源: https://codeday.me/bug/20190926/1821252.html