Bladeren bron

SQSCANNER-23 Support the new 'MessageException' unchecked exception and log by default the error stack trace only when a non-MessageException is thrown

tags/2.8
Duarte Meneses 7 jaren geleden
bovenliggende
commit
b37e0615ac

+ 0
- 1
src/main/java/org/sonarsource/scanner/cli/Cli.java Bestand weergeven

props.setProperty("sonar.verbose", "true"); props.setProperty("sonar.verbose", "true");
debugEnabled = true; debugEnabled = true;
logger.setDebugEnabled(true); logger.setDebugEnabled(true);
logger.setDisplayStackTrace(true);


} else if ("-D".equals(arg) || "--define".equals(arg)) { } else if ("-D".equals(arg) || "--define".equals(arg)) {
i++; i++;

+ 1
- 6
src/main/java/org/sonarsource/scanner/cli/Logs.java Bestand weergeven

public class Logs { public class Logs {
private DateTimeFormatter timeFormatter; private DateTimeFormatter timeFormatter;
private boolean debugEnabled = false; private boolean debugEnabled = false;
private boolean displayStackTrace = false;
private PrintStream stdOut; private PrintStream stdOut;
private PrintStream stdErr; private PrintStream stdErr;


this.debugEnabled = debugEnabled; this.debugEnabled = debugEnabled;
} }


public void setDisplayStackTrace(boolean displayStackTrace) {
this.displayStackTrace = displayStackTrace;
}

public boolean isDebugEnabled() { public boolean isDebugEnabled() {
return debugEnabled; return debugEnabled;
} }


public void error(String message, Throwable t) { public void error(String message, Throwable t) {
print(stdErr, "ERROR: " + message); print(stdErr, "ERROR: " + message);
if (t != null && displayStackTrace) {
if (t != null) {
t.printStackTrace(stdErr); t.printStackTrace(stdErr);
} }
} }

+ 0
- 1
src/main/java/org/sonarsource/scanner/cli/Main.java Bestand weergeven

|| "DEBUG".equalsIgnoreCase(props.getProperty("sonar.log.level")) || "DEBUG".equalsIgnoreCase(props.getProperty("sonar.log.level"))
|| "TRACE".equalsIgnoreCase(props.getProperty("sonar.log.level"))) { || "TRACE".equalsIgnoreCase(props.getProperty("sonar.log.level"))) {
logger.setDebugEnabled(true); logger.setDebugEnabled(true);
logger.setDisplayStackTrace(true);
} }
} }



+ 1
- 7
src/test/java/org/sonarsource/scanner/cli/LogsTest.java Bestand weergeven

@Test @Test
public void testError() { public void testError() {
Exception e = new NullPointerException("exception"); Exception e = new NullPointerException("exception");
logs.setDisplayStackTrace(false);
logs.error("error1"); logs.error("error1");
verify(stdErr).println("ERROR: error1"); verify(stdErr).println("ERROR: error1");


logs.error("error2", e); logs.error("error2", e);
verify(stdErr).println("ERROR: error2"); verify(stdErr).println("ERROR: error2");

verifyNoMoreInteractions(stdOut, stdErr);

logs.setDisplayStackTrace(true);
logs.error("error3", e);
verify(stdErr).println("ERROR: error3");
verify(stdErr).println(e);
// other interactions to print the exception.. // other interactions to print the exception..
} }



+ 0
- 1
src/test/java/org/sonarsource/scanner/cli/MainTest.java Bestand weergeven



// Logger used for callback should have debug enabled // Logger used for callback should have debug enabled
verify(logs).setDebugEnabled(true); verify(logs).setDebugEnabled(true);
verify(logs).setDisplayStackTrace(true);


ArgumentCaptor<Properties> propertiesCapture = ArgumentCaptor.forClass(Properties.class); ArgumentCaptor<Properties> propertiesCapture = ArgumentCaptor.forClass(Properties.class);
verify(runner).runAnalysis(propertiesCapture.capture()); verify(runner).runAnalysis(propertiesCapture.capture());

Laden…
Annuleren
Opslaan