2

我正在进行代码审查,我希望您能想到一小段代码:

if(logger.isDebugEnabled())
{
    logger.debug("debug log");
} 

进行测试有真正的理由/好处if(logger.isDebugEnabled())吗?

为什么不直接写logger.debug("debug log");而不测试?

4

1 回答 1

6

它对您提供的示例没有用。但如果您在日志行中包含其他数据,它会很有用,例如:

logger.debug("Info: " + someObject.getSomeInformation());

请注意,该方法getSomeInformation将在调用someObject之前logger.debug调用,无论级别是否为调试。此外,还将执行字符串连接。为了避免方法调用和字符串连接的成本,您可以if在您的问题中将其放在一个like 中。

于 2013-04-04T11:24:22.647 回答