Rule Set:<rule ref="rulesets/java/logging-java.xml/InvalidSlf4jMessageFormat"/>
Description:
The following error is printed:
Exception applying rule InvalidSlf4jMessageFormat on file [...]/LoggerHelper.java, continuing with next rule
java.lang.NullPointerException
at net.sourceforge.pmd.lang.java.rule.logging.InvalidSlf4jMessageFormatRule.expectedArguments(InvalidSlf4jMessageFormatRule.java:161)
at net.sourceforge.pmd.lang.java.rule.logging.InvalidSlf4jMessageFormatRule.visit(InvalidSlf4jMessageFormatRule.java:76)
at net.sourceforge.pmd.lang.java.ast.ASTName.jjtAccept(ASTName.java:35)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:56)
at net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:75)
at net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:380)
at net.sourceforge.pmd.lang.java.ast.ASTPrimaryPrefix.jjtAccept(ASTPrimaryPrefix.java:42)
at net.sourceforge.pmd.lang.java.ast.AbstractJavaNode.childrenAccept(AbstractJavaNode.java:56)
at net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:75)
at net.sourceforge.pmd.lang.java.rule.AbstractJavaRule.visit(AbstractJavaRule.java:376)
at net.sourceforge.pmd.lang.java.ast.ASTPrimaryExpression.jjtAccept(ASTPrimaryExpression.java:21)
Code Sample demonstrating the issue:
public class LoggerHelper { public LoggerHelper(int entriesCount, long sleepingInterval, String loggerName, String message) { Logger logger = LoggerFactory.getLogger(loggerName); for (int i = 0; i < entriesCount; i++) { logger.info(message); try { Thread.sleep(sleepingInterval); } catch(InterruptedException e) { // nothing to do here! } } } public static void main(String[] args) { if (args.length != 4) { System.err.println("Invalid command line parameters ..."); System.out.println("USAGE: LoggerHelper <count of log entries> <sleeping interval> <logger-name> <message>"); System.exit(-1); } int entriesCount = Integer.parseInt(args[0]); long sleepingInterval = Long.parseLong(args[1]); String loggerName = args[2]; String logMessage = args[3]; new LoggerHelper(entriesCount, sleepingInterval, loggerName, logMessage); } }
Running PMD through: Gradle
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4