我有以下的日志代码。
private static final Log LOGGER_MESSAGE = LogFactory.getLog(CandidateDAOImpl.class);
PMD抛出
Logger should be defined private static final and have the correct class
我正在使用私有的最终静态变量,我的文件名是CandidateDAOImpl。
为什么它的表现如此?
答案 0 :(得分:1)
问题在于您的变量名LOGGER_MESSAGE
。 PMD规则 ProperLogger 默认日志名称为LOG
。见http://pmd.sourceforge.net/pmd-4.3.0/rules/logging-jakarta-commons.html
但是,它没有正确记录,错误信息很容易引起误解。
将以下内容添加到您的PMD配置文件中应解决问题:
<rule
ref="rulesets/java/logging-jakarta-commons.xml/ProperLogger">
<properties>
<property name="staticLoggerName" value="LOGGER_MESSAGE"/>
</properties>
</rule>
同样的想法,如果有人想将'LOG'更改为'log',则需要更新staticLoggerName
属性