Rulesets for SLF4J. Given argument for LoggerFactory#getLogger(Class) is wrong. You have to provide the Class which you're coding. 1 Logger should be private. 1 Logger should be final. 1 Sometimes using non-static logger is better than using static one. See official FAQ(http://www.slf4j.org/faq.html#declared_static) for detail. If you want to keep your logger static, please use default logging rule(http://pmd.sourceforge.net/pmd-5.0.0/rules/java/logging-java.html#LoggerIsNotStaticFinal) instead. 3 Number of placeholder({}) should be equal to number of argument. 3