我正在进行代码审核,我希望您考虑一小段代码:
if(logger.isDebugEnabled())
{
logger.debug("debug log");
}
进行测试是否有真正的原因/好处if(logger.isDebugEnabled())
?
为什么不在没有测试的情况下编写logger.debug("debug log");
?
答案 0 :(得分:5)
对您提供的示例没有用处。但是,如果在日志行中包含其他数据,则可能很有用,例如:
logger.debug("Info: " + someObject.getSomeInformation());
请注意,在调用getSomeInformation
之前,将在someObject
上调用方法logger.debug
,无论级别是否为debug。此外,将执行字符串连接。为了避免方法调用和字符串连接的成本,您可以将其放在问题的if
中。