pmd:GuardLogStatementJavaUtil坏了吗?

时间:2017-04-28 06:43:36

标签: java pmd

设定:

  

Guard Log Statement Java Util(pmd:GuardLogStatementJavaUtil)

     

每当使用日志级别时,应检查是否实际启用了日志级别,否则将跳过关联字符串创建和操作。

     

示例:

     

//添加此功能

     

if(log.isLoggable(Level.FINE)){...   log.fine(“发生这种情况”);

代码(触发违规):

LOGGER.info(() -> "Bla bla");

lambda的实现:

@Override
public void info(Supplier<String> message) {
    if (logger.isInfoEnabled()) {
        logger.info(message.get());
    }
}

规则被破坏了吗?如果是,这是一个已知问题吗?

1 个答案:

答案 0 :(得分:0)

讨论已移至PMD问题跟踪器:https://github.com/pmd/pmd/issues/370