Fix logging checkstyle
[yangtools.git] / common / checkstyle-logging / src / main / java / org / opendaylight / yangtools / checkstyle / LogMessageConcatenationCheck.java
index d725c451c7fbefd6629e8d862c9104ac090525d2..d078ba7e306dec9e1acb2632451f07058dd3dc01 100644 (file)
@@ -25,9 +25,14 @@ public class LogMessageConcatenationCheck extends Check {
     public void visitToken(DetailAST aAST) {
         final String methodName = CheckLoggingUtil.getMethodName(aAST);
         if(CheckLoggingUtil.isLogMethod(methodName)) {
-            final String logMessage = aAST.findFirstToken(TokenTypes.ELIST).getFirstChild().getFirstChild().getText();
-            if(logMessage.contains("+")) {
-                log(aAST.getLineNo(), LOG_MESSAGE);
+            DetailAST plus = aAST.findFirstToken(TokenTypes.ELIST).getFirstChild().findFirstToken(TokenTypes.PLUS);
+            if (plus != null) {
+                while (plus.getChildCount(TokenTypes.PLUS) != 0) {
+                    plus = plus.findFirstToken(TokenTypes.PLUS);
+                }
+                if (plus.getChildCount(TokenTypes.STRING_LITERAL) != 2) {
+                    log(aAST.getLineNo(), LOG_MESSAGE);
+                }
             }
         }
     }