Преглед изворни кода

Resolve #703

Fix logging configuration for CLI
Dominik Fuchß пре 4 година
родитељ
комит
ba15aed9af

+ 1 - 1
cli/src/main/java/de/jplag/cli/CLI.java

@@ -60,7 +60,7 @@ import de.jplag.reporting.reportobject.ReportObjectFactory;
  */
 public final class CLI {
 
-    private static final Logger logger = LoggerFactory.getLogger("JPlag");
+    private static final Logger logger = LoggerFactory.getLogger(CLI.class);
 
     private static final Random RANDOM = new SecureRandom();
 

+ 1 - 1
cli/src/main/java/de/jplag/cli/LanguageLoader.java

@@ -18,7 +18,7 @@ import de.jplag.Language;
  * @author Dominik Fuchss
  */
 public final class LanguageLoader {
-    private static final Logger logger = LoggerFactory.getLogger("JPlag");
+    private static final Logger logger = LoggerFactory.getLogger(LanguageLoader.class);
 
     private static Map<String, Language> cachedLanguageInstances = null;
 

+ 10 - 1
cli/src/main/java/de/jplag/cli/logger/CollectedLogger.java

@@ -27,6 +27,11 @@ public final class CollectedLogger extends MarkerIgnoringBase {
     private static final int LOG_LEVEL_WARN = LocationAwareLogger.WARN_INT;
     private static final int LOG_LEVEL_ERROR = LocationAwareLogger.ERROR_INT;
 
+    /**
+     * The default log level that shall be used for external libraries (like Stanford Core NLP)
+     */
+    private static final int LOG_LEVEL_FOR_EXTERNAL_LIBRARIES = LOG_LEVEL_ERROR;
+
     private static final int CURRENT_LOG_LEVEL = LOG_LEVEL_INFO;
 
     /**
@@ -117,7 +122,11 @@ public final class CollectedLogger extends MarkerIgnoringBase {
     }
 
     private boolean isLevelEnabled(int logLevel) {
-        return logLevel >= CURRENT_LOG_LEVEL;
+        return isJPlagLog() ? logLevel >= CURRENT_LOG_LEVEL : logLevel >= LOG_LEVEL_FOR_EXTERNAL_LIBRARIES;
+    }
+
+    private boolean isJPlagLog() {
+        return this.name.startsWith("de.jplag.");
     }
 
     private String renderLevel(int level) {

+ 1 - 1
core/src/main/java/de/jplag/options/JPlagOptions.java

@@ -55,7 +55,7 @@ public record JPlagOptions(Language language, Integer minimumTokenMatch, Set<Fil
     public static final SimilarityMetric DEFAULT_SIMILARITY_METRIC = SimilarityMetric.AVG;
     public static final Charset CHARSET = StandardCharsets.UTF_8;
 
-    private static final Logger logger = LoggerFactory.getLogger(JPlag.class);
+    private static final Logger logger = LoggerFactory.getLogger(JPlagOptions.class);
 
     public JPlagOptions(Language language, Set<File> submissionDirectories, Set<File> oldSubmissionDirectories) {
         this(language, null, submissionDirectories, oldSubmissionDirectories, null, null, null, null, DEFAULT_SIMILARITY_METRIC,

+ 1 - 1
languages/csharp/src/test/java/de/jplag/csharp/MinimalCSharpTest.java

@@ -40,7 +40,7 @@ import de.jplag.TokenPrinter;
 import de.jplag.TokenType;
 
 class MinimalCSharpTest {
-    private final Logger logger = LoggerFactory.getLogger("JPlag-Test");
+    private final Logger logger = LoggerFactory.getLogger(MinimalCSharpTest.class);
 
     private static final Path BASE_PATH = Path.of("src", "test", "resources", "de", "jplag", "csharp");
     private static final String TEST_SUBJECT = "TestClass.cs";

+ 1 - 1
languages/emf-metamodel-dynamic/src/test/java/de/jplag/emf/dynamic/MinimalDynamicMetamodelTest.java

@@ -25,7 +25,7 @@ import de.jplag.testutils.FileUtil;
 import de.jplag.testutils.TokenUtils;
 
 class MinimalDynamicMetamodelTest {
-    private final Logger logger = LoggerFactory.getLogger("JPlag-Test");
+    private final Logger logger = LoggerFactory.getLogger(MinimalDynamicMetamodelTest.class);
 
     private static final Path BASE_PATH = Path.of("src", "test", "resources", "de", "jplag", "models");
     private static final String[] TEST_SUBJECTS = {"bookStore.ecore", "bookStoreExtended.ecore", "bookStoreRenamed.ecore"};

+ 1 - 1
languages/emf-metamodel/src/test/java/de/jplag/emf/MinimalMetamodelTest.java

@@ -25,7 +25,7 @@ import de.jplag.testutils.FileUtil;
 import de.jplag.testutils.TokenUtils;
 
 class MinimalMetamodelTest {
-    private final Logger logger = LoggerFactory.getLogger("JPlag-Test");
+    private final Logger logger = LoggerFactory.getLogger(MinimalMetamodelTest.class);
 
     private static final Path BASE_PATH = Path.of("src", "test", "resources", "de", "jplag", "models");
     private static final String[] TEST_SUBJECTS = {"bookStore.ecore", "bookStoreExtended.ecore", "bookStoreRenamed.ecore"};

+ 1 - 1
languages/golang/src/test/java/de/jplag/golang/GoLanguageTest.java

@@ -47,7 +47,7 @@ class GoLanguageTest {
      */
     private static final String DELIMITED_COMMENT_END = ".*\\*/\\s*$";
 
-    private final Logger logger = LoggerFactory.getLogger("GoLang language test");
+    private final Logger logger = LoggerFactory.getLogger(GoLanguageTest.class);
     private final String[] testFiles = new String[] {COMPLETE_TEST_FILE};
     private final File testFileLocation = Path.of("src", "test", "resources", "de", "jplag", "golang").toFile();
     private Language language;

+ 1 - 1
languages/kotlin/src/test/java/de/jplag/kotlin/KotlinLanguageTest.java

@@ -46,7 +46,7 @@ class KotlinLanguageTest {
      */
     private static final String DELIMITED_COMMENT_END = ".*\\*/\\s*$";
 
-    private final Logger logger = LoggerFactory.getLogger("Kotlin language test");
+    private final Logger logger = LoggerFactory.getLogger(KotlinLanguageTest.class);
     private final String[] testFiles = new String[] {COMPLETE_TEST_FILE, "Game.kt"};
     private final File testFileLocation = Path.of("src", "test", "resources", "de", "jplag", "kotlin").toFile();
     private Language language;

+ 1 - 1
languages/rlang/src/test/java/de/jplag/rlang/RLanguageTest.java

@@ -36,7 +36,7 @@ class RLanguageTest {
      */
     private static final String COMPLETE_TEST_FILE = "Complete.R";
 
-    private final Logger logger = LoggerFactory.getLogger("R language test");
+    private final Logger logger = LoggerFactory.getLogger(RLanguageTest.class);
     private final String[] testFiles = new String[] {"Game.R", COMPLETE_TEST_FILE};
     private final File testFileLocation = Path.of("src", "test", "resources", "de", "jplag", "rlang").toFile();
     private Language language;

+ 1 - 1
languages/rust/src/test/java/de/jplag/rust/RustLanguageTest.java

@@ -40,7 +40,7 @@ class RustLanguageTest {
     private static final double EPSILON = 1E-6;
     public static final double BASELINE_COVERAGE = 0.75;
 
-    private final Logger logger = LoggerFactory.getLogger("Rust language test");
+    private final Logger logger = LoggerFactory.getLogger(RustLanguageTest.class);
     private final String[] testFiles = new String[] {"deno_core_runtime.rs", COMPLETE_TEST_FILE};
     private final File testFileLocation = Path.of("src", "test", "resources", "de", "jplag", "rust").toFile();
     private Language language;

+ 1 - 1
languages/scala/src/test/java/de/jplag/scala/ScalaLanguageTest.java

@@ -46,7 +46,7 @@ class ScalaLanguageTest {
     private static final String DELIMITED_COMMENT_END = ".*\\*/\\s*$";
     private static final double EPSILON = 1E-6;
 
-    private final Logger logger = LoggerFactory.getLogger("Scala language test");
+    private final Logger logger = LoggerFactory.getLogger(ScalaLanguageTest.class);
     private final String[] testFiles = new String[] {"Parser.scala", COMPLETE_TEST_FILE};
     private final File testFileLocation = Path.of("src", "test", "resources", "de", "jplag", "scala").toFile();
     private Language language;

+ 1 - 1
languages/swift/src/test/java/de/jplag/swift/SwiftFrontendTest.java

@@ -52,7 +52,7 @@ class SwiftFrontendTest {
      */
     private static final String DELIMITED_COMMENT_END = ".*\\*/\\s*$";
 
-    private final Logger logger = LoggerFactory.getLogger("Swift frontend test");
+    private final Logger logger = LoggerFactory.getLogger(SwiftFrontendTest.class);
     private final String[] testFiles = new String[] {COMPLETE_TEST_FILE};
     private final File testFileLocation = Path.of("src", "test", "resources", "de", "jplag", "swift").toFile();
     private Language language;

+ 0 - 2
languages/text/src/main/java/de/jplag/text/ParserAdapter.java

@@ -15,7 +15,6 @@ import de.jplag.Token;
 import edu.stanford.nlp.ling.CoreLabel;
 import edu.stanford.nlp.pipeline.CoreDocument;
 import edu.stanford.nlp.pipeline.StanfordCoreNLP;
-import edu.stanford.nlp.util.logging.RedwoodConfiguration;
 
 public class ParserAdapter extends AbstractParser {
 
@@ -34,7 +33,6 @@ public class ParserAdapter extends AbstractParser {
     private int currentLineBreakIndex;
 
     public ParserAdapter() {
-        RedwoodConfiguration.errorLevel().apply();
         Properties properties = new Properties();
         properties.put(ANNOTATORS_KEY, ANNOTATORS_VALUE);
         this.pipeline = new StanfordCoreNLP(properties);

+ 1 - 1
languages/text/src/test/java/jplag/text/TextLanguageTest.java

@@ -26,7 +26,7 @@ import de.jplag.TokenType;
 import de.jplag.text.Language;
 
 class TextLanguageTest {
-    private final Logger logger = LoggerFactory.getLogger("JPlag-Test");
+    private final Logger logger = LoggerFactory.getLogger(TextLanguageTest.class);
 
     private static final Path BASE_PATH = Path.of("src", "test", "resources");
     private static final String TEST_SUBJECT = "FutureJavaDoc.txt";