diff options
Diffstat (limited to 'sonar-runner-impl/src')
-rw-r--r-- | sonar-runner-impl/src/main/java/org/sonar/runner/impl/Logs.java | 10 | ||||
-rw-r--r-- | sonar-runner-impl/src/test/java/org/sonar/runner/impl/LogsTest.java | 6 |
2 files changed, 9 insertions, 7 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 diff --git a/sonar-runner-impl/src/test/java/org/sonar/runner/impl/LogsTest.java b/sonar-runner-impl/src/test/java/org/sonar/runner/impl/LogsTest.java index 4517c20..51b088a 100644 --- a/sonar-runner-impl/src/test/java/org/sonar/runner/impl/LogsTest.java +++ b/sonar-runner-impl/src/test/java/org/sonar/runner/impl/LogsTest.java @@ -36,8 +36,8 @@ public class LogsTest { private static final String EXPECTED_INFO = "INFO: info\n"; private static final String EXPECTED_ERROR = "ERROR: error\n"; - private ByteArrayOutputStream recordedSystemOut = new ByteArrayOutputStream(); - private ByteArrayOutputStream recordedSystemErr = new ByteArrayOutputStream(); + private ByteArrayOutputStream recordedSystemOut; + private ByteArrayOutputStream recordedSystemErr; @Before public void restoreDefault() { @@ -50,7 +50,7 @@ public class LogsTest { Logs.setDebugEnabled(false); Logs.setListener(null); } - + @Test public void testNull() throws UnsupportedEncodingException { Logs.setListener(null); |