diff options
Diffstat (limited to 'sonar-runner-impl/src/main/java/org/sonar/runner/impl/Logs.java')
-rw-r--r-- | sonar-runner-impl/src/main/java/org/sonar/runner/impl/Logs.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sonar-runner-impl/src/main/java/org/sonar/runner/impl/Logs.java b/sonar-runner-impl/src/main/java/org/sonar/runner/impl/Logs.java index fd60ce9..7ef9c63 100644 --- a/sonar-runner-impl/src/main/java/org/sonar/runner/impl/Logs.java +++ b/sonar-runner-impl/src/main/java/org/sonar/runner/impl/Logs.java @@ -20,7 +20,6 @@ package org.sonar.runner.impl; import org.sonar.home.log.LogListener.Level; - import org.sonar.home.log.LogListener; import javax.annotation.Nullable; @@ -28,8 +27,8 @@ import javax.annotation.Nullable; import java.io.PrintStream; import java.io.PrintWriter; import java.io.StringWriter; +import java.util.Collections; import java.util.EnumMap; -import java.util.HashMap; import java.util.Map; public class Logs { @@ -94,6 +93,9 @@ public class Logs { listener.log(msg, level); } + /** + * This is recreated every time to be sure we use the current {@link System#err} and {@link System#out}. + */ private static Map<Level, PrintStream> getDefaultFwdMap() { Map<Level, PrintStream> map = new EnumMap<>(Level.class); @@ -102,14 +104,14 @@ public class Logs { map.put(Level.INFO, System.out); map.put(Level.DEBUG, System.out); map.put(Level.TRACE, System.out); - return map; + return Collections.unmodifiableMap(map); } private static class PrintStreamLogListener implements LogListener { Map<Level, PrintStream> forwardMap; PrintStreamLogListener(Map<Level, PrintStream> forwardMap) { - this.forwardMap = new HashMap<>(forwardMap); + this.forwardMap = new EnumMap<>(forwardMap); } @Override |