是否需要进行显式的if(log.isDebugEnabled()){…}检查?
我的意思是,我已经看到一些帖子提到log.debug(“something”)进行隐式调用,以查看调试模式日志记录是否已启用,然后再进行日志记录。我是否缺少某些东西,或者在使用此步骤之前有中间步骤要执行?
谢谢!
log.debug("ResultSet rs is retrieved from OracleTypes");
与
if(log.isDebugEnabled()){ log.debug("ResultSet rs is retrieved from OracleTypes"); }
编辑:在上面写过:http : //java.sg/whether-to-do-a-isdebugenabled- checking-before-printing-out-your-log-statement/
该声明:
if(log.isDebugEnabled()){
仅出于性能原因使用。它的使用是可选的,因为它是由log方法在内部调用的。
但是现在您问是否在内部进行此检查,那么为什么要使用它呢?这很简单:如果您记录如下内容:
然后,您无需进行任何检查。如果您使用如下所示的附加运算符(+)编写要记录的字符串:
log.debug("[" + System.getTimeInMillis() + "] ResultSet rs is retrieved from OracleTypes");
在这种情况下,您应该检查是否启用了日志,因为如果没有启用日志,即使没有创建日志,字符串组成也是启用的。而且我必须提醒您,使用运算符“+”来连接字符串是非常低效的。