1
2
3
4 package net.sourceforge.pmd.lang.java.rule.logging;
5
6 import java.util.logging.Level;
7
8 import net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit;
9
10 public class GuardLogStatementJavaUtilRule extends GuardLogStatementRule {
11
12 private static final String GUARD_METHOD_NAME = "isLoggable";
13
14
15 public GuardLogStatementJavaUtilRule() {};
16
17 @Override
18 public Object visit(ASTCompilationUnit unit, Object data) {
19 if ( super.guardStmtByLogLevel.isEmpty() ) {
20 super.guardStmtByLogLevel.put(formatLogLevelString(Level.FINEST), GUARD_METHOD_NAME);
21 super.guardStmtByLogLevel.put(formatLogLevelString(Level.FINER), GUARD_METHOD_NAME);
22 super.guardStmtByLogLevel.put(formatLogLevelString(Level.FINE), GUARD_METHOD_NAME);
23 super.guardStmtByLogLevel.put(formatLogLevelString(Level.INFO), GUARD_METHOD_NAME);
24 super.guardStmtByLogLevel.put(formatLogLevelString(Level.WARNING), GUARD_METHOD_NAME);
25 super.guardStmtByLogLevel.put(formatLogLevelString(Level.SEVERE), GUARD_METHOD_NAME);
26 }
27 return super.visit(unit,data);
28 }
29
30 private String formatLogLevelString(Level logLevel) {
31 return "." + logLevel.toString().toLowerCase();
32 }
33 }