Log4J - 测试日志级别有用吗?

时间:2013-04-04 11:20:36

标签: java log4j

我正在进行代码审核,我希望您考虑一小段代码:

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

进行测试是否有真正的原因/好处if(logger.isDebugEnabled())

为什么不在没有测试的情况下编写logger.debug("debug log");

1 个答案:

答案 0 :(得分:5)

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

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

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