设定:
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());
}
}
规则被破坏了吗?如果是,这是一个已知问题吗?