From b6c33f3c1f688613db56e8dbcd26e04c35a5fdd3 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Tue, 24 Feb 2015 16:50:18 +0100 Subject: [PATCH] SONAR-5936 support property sonar.log.level on batch --- .../bootstrapper/LoggingConfiguration.java | 29 ++++---- .../org/sonar/batch/bootstrapper/logback.xml | 4 +- .../resources/org/sonar/batch/logback.xml | 4 +- .../LoggingConfigurationTest.java | 69 ++++++++++++++----- 4 files changed, 70 insertions(+), 36 deletions(-) diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrapper/LoggingConfiguration.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrapper/LoggingConfiguration.java index a3c42a7efa1..3d1250eeba6 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/bootstrapper/LoggingConfiguration.java +++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrapper/LoggingConfiguration.java @@ -35,16 +35,11 @@ import java.util.Map; public final class LoggingConfiguration { public static final String PROPERTY_ROOT_LOGGER_LEVEL = "ROOT_LOGGER_LEVEL"; - public static final String PROPERTY_SQL_RESULTS_LOGGER_LEVEL = "SQL_RESULTS_LOGGER_LEVEL"; + public static final String PROPERTY_SQL_LOGGER_LEVEL = "SQL_LOGGER_LEVEL"; public static final String PROPERTY_FORMAT = "FORMAT"; - public static final String LEVEL_ROOT_VERBOSE = "DEBUG"; - public static final String LEVEL_ROOT_DEFAULT = "INFO"; - public static final String LEVEL_SQL_VERBOSE = "DEBUG"; - public static final String LEVEL_SQL_DEFAULT = "WARN"; - public static final String LEVEL_SQL_RESULTS_VERBOSE = "DEBUG"; - public static final String LEVEL_SQL_RESULTS_DEFAULT = "WARN"; + public static final String LEVEL_ROOT_DEFAULT = "INFO"; @VisibleForTesting static final String FORMAT_DEFAULT = "%d{HH:mm:ss.SSS} %-5level - %msg%n"; @VisibleForTesting @@ -66,9 +61,15 @@ public final class LoggingConfiguration { } public LoggingConfiguration setProperties(Map properties) { - //TODO - setShowSqlResults(false); - setVerbose("true".equals(properties.get("sonar.verbose"))); + String logLevel = properties.get("sonar.log.level"); + String deprecatedProfilingLevel = properties.get("sonar.log.profilingLevel"); + boolean verbose = "true".equals(properties.get("sonar.verbose")) || + "DEBUG".equals(logLevel) || "TRACE".equals(logLevel) || + "BASIC".equals(deprecatedProfilingLevel) || "FULL".equals(deprecatedProfilingLevel); + boolean sql = "TRACE".equals(logLevel) || "FULL".equals(deprecatedProfilingLevel); + + setShowSql(sql); + setVerbose(verbose); return this; } @@ -76,16 +77,12 @@ public final class LoggingConfiguration { return setRootLevel(verbose ? LEVEL_ROOT_VERBOSE : LEVEL_ROOT_DEFAULT); } - public LoggingConfiguration setShowSqlResults(boolean showSqlResults) { - return setSqlResultsLevel(showSqlResults ? LEVEL_SQL_RESULTS_VERBOSE : LEVEL_SQL_RESULTS_DEFAULT); - } - public LoggingConfiguration setRootLevel(String level) { return addSubstitutionVariable(PROPERTY_ROOT_LOGGER_LEVEL, level); } - public LoggingConfiguration setSqlResultsLevel(String level) { - return addSubstitutionVariable(PROPERTY_SQL_RESULTS_LOGGER_LEVEL, level); + public LoggingConfiguration setShowSql(boolean showSql) { + return addSubstitutionVariable(PROPERTY_SQL_LOGGER_LEVEL, showSql ? "TRACE" : "WARN"); } @VisibleForTesting diff --git a/sonar-batch/src/main/resources/org/sonar/batch/bootstrapper/logback.xml b/sonar-batch/src/main/resources/org/sonar/batch/bootstrapper/logback.xml index 5fbe0ef32a8..1f6425e75c5 100644 --- a/sonar-batch/src/main/resources/org/sonar/batch/bootstrapper/logback.xml +++ b/sonar-batch/src/main/resources/org/sonar/batch/bootstrapper/logback.xml @@ -46,7 +46,7 @@ - + @@ -58,4 +58,4 @@ - \ No newline at end of file + diff --git a/sonar-batch/src/main/resources/org/sonar/batch/logback.xml b/sonar-batch/src/main/resources/org/sonar/batch/logback.xml index 05ec3018555..9766143b225 100644 --- a/sonar-batch/src/main/resources/org/sonar/batch/logback.xml +++ b/sonar-batch/src/main/resources/org/sonar/batch/logback.xml @@ -42,7 +42,7 @@ - + @@ -55,4 +55,4 @@ - \ No newline at end of file + diff --git a/sonar-batch/src/test/java/org/sonar/batch/bootstrapper/LoggingConfigurationTest.java b/sonar-batch/src/test/java/org/sonar/batch/bootstrapper/LoggingConfigurationTest.java index 0da23d622c6..948fbc8177e 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/bootstrapper/LoggingConfigurationTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/bootstrapper/LoggingConfigurationTest.java @@ -31,63 +31,100 @@ public class LoggingConfigurationTest { @Test public void testSetVerbose() { assertThat(LoggingConfiguration.create(null).setVerbose(true) - .getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo(LoggingConfiguration.LEVEL_ROOT_VERBOSE); + .getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo(LoggingConfiguration.LEVEL_ROOT_VERBOSE); assertThat(LoggingConfiguration.create(null).setVerbose(false) - .getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo(LoggingConfiguration.LEVEL_ROOT_DEFAULT); + .getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo(LoggingConfiguration.LEVEL_ROOT_DEFAULT); assertThat(LoggingConfiguration.create(null).setRootLevel("ERROR") - .getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo("ERROR"); + .getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo("ERROR"); } @Test public void shouldNotBeVerboseByDefault() { assertThat(LoggingConfiguration.create(null) - .getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo(LoggingConfiguration.LEVEL_ROOT_DEFAULT); + .getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo(LoggingConfiguration.LEVEL_ROOT_DEFAULT); } @Test - public void testSetVerboseProperty() { + public void test_deprecated_log_properties() { Map properties = Maps.newHashMap(); assertThat(LoggingConfiguration.create(null).setProperties(properties) - .getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo(LoggingConfiguration.LEVEL_ROOT_DEFAULT); + .getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo(LoggingConfiguration.LEVEL_ROOT_DEFAULT); properties.put("sonar.verbose", "true"); - assertThat(LoggingConfiguration.create(null).setProperties(properties) - .getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo(LoggingConfiguration.LEVEL_ROOT_VERBOSE); + LoggingConfiguration conf = LoggingConfiguration.create(null).setProperties(properties); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo(LoggingConfiguration.LEVEL_ROOT_VERBOSE); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_SQL_LOGGER_LEVEL)).isEqualTo("WARN"); properties.put("sonar.verbose", "false"); - assertThat(LoggingConfiguration.create(null).setProperties(properties) - .getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo(LoggingConfiguration.LEVEL_ROOT_DEFAULT); + conf = LoggingConfiguration.create(null).setProperties(properties); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo(LoggingConfiguration.LEVEL_ROOT_DEFAULT); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_SQL_LOGGER_LEVEL)).isEqualTo("WARN"); + + properties.put("sonar.verbose", "false"); + properties.put("sonar.log.profilingLevel", "FULL"); + conf = LoggingConfiguration.create(null).setProperties(properties); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo("DEBUG"); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_SQL_LOGGER_LEVEL)).isEqualTo("TRACE"); + + properties.put("sonar.verbose", "false"); + properties.put("sonar.log.profilingLevel", "BASIC"); + conf = LoggingConfiguration.create(null).setProperties(properties); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo("DEBUG"); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_SQL_LOGGER_LEVEL)).isEqualTo("WARN"); + } + + @Test + public void test_log_level_property() { + Map properties = Maps.newHashMap(); + LoggingConfiguration conf = LoggingConfiguration.create(null).setProperties(properties); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo("INFO"); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_SQL_LOGGER_LEVEL)).isEqualTo("WARN"); + + properties.put("sonar.log.level", "INFO"); + conf = LoggingConfiguration.create(null).setProperties(properties); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo("INFO"); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_SQL_LOGGER_LEVEL)).isEqualTo("WARN"); + + properties.put("sonar.log.level", "DEBUG"); + conf = LoggingConfiguration.create(null).setProperties(properties); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo("DEBUG"); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_SQL_LOGGER_LEVEL)).isEqualTo("WARN"); + + properties.put("sonar.log.level", "TRACE"); + conf = LoggingConfiguration.create(null).setProperties(properties); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_ROOT_LOGGER_LEVEL)).isEqualTo("DEBUG"); + assertThat(conf.getSubstitutionVariable(LoggingConfiguration.PROPERTY_SQL_LOGGER_LEVEL)).isEqualTo("TRACE"); } @Test public void testDefaultFormat() { assertThat(LoggingConfiguration.create(null) - .getSubstitutionVariable(LoggingConfiguration.PROPERTY_FORMAT)).isEqualTo(LoggingConfiguration.FORMAT_DEFAULT); + .getSubstitutionVariable(LoggingConfiguration.PROPERTY_FORMAT)).isEqualTo(LoggingConfiguration.FORMAT_DEFAULT); } @Test public void testMavenFormat() { assertThat(LoggingConfiguration.create(new EnvironmentInformation("maven", "1.0")) - .getSubstitutionVariable(LoggingConfiguration.PROPERTY_FORMAT)).isEqualTo(LoggingConfiguration.FORMAT_MAVEN); + .getSubstitutionVariable(LoggingConfiguration.PROPERTY_FORMAT)).isEqualTo(LoggingConfiguration.FORMAT_MAVEN); } @Test public void testSetFormat() { assertThat(LoggingConfiguration.create(null).setFormat("%d %level") - .getSubstitutionVariable(LoggingConfiguration.PROPERTY_FORMAT)).isEqualTo("%d %level"); + .getSubstitutionVariable(LoggingConfiguration.PROPERTY_FORMAT)).isEqualTo("%d %level"); } @Test public void shouldNotSetBlankFormat() { assertThat(LoggingConfiguration.create(null).setFormat(null) - .getSubstitutionVariable(LoggingConfiguration.PROPERTY_FORMAT)).isEqualTo(LoggingConfiguration.FORMAT_DEFAULT); + .getSubstitutionVariable(LoggingConfiguration.PROPERTY_FORMAT)).isEqualTo(LoggingConfiguration.FORMAT_DEFAULT); assertThat(LoggingConfiguration.create(null).setFormat("") - .getSubstitutionVariable(LoggingConfiguration.PROPERTY_FORMAT)).isEqualTo(LoggingConfiguration.FORMAT_DEFAULT); + .getSubstitutionVariable(LoggingConfiguration.PROPERTY_FORMAT)).isEqualTo(LoggingConfiguration.FORMAT_DEFAULT); assertThat(LoggingConfiguration.create(null).setFormat(" ") - .getSubstitutionVariable(LoggingConfiguration.PROPERTY_FORMAT)).isEqualTo(LoggingConfiguration.FORMAT_DEFAULT); + .getSubstitutionVariable(LoggingConfiguration.PROPERTY_FORMAT)).isEqualTo(LoggingConfiguration.FORMAT_DEFAULT); } } -- 2.39.5