diff options
author | Simon Brandhof <simon.brandhof@sonarsource.com> | 2019-06-10 15:49:07 +0200 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2019-06-28 08:45:46 +0200 |
commit | bb0accf381797528581640be0f5d824e7e3cf683 (patch) | |
tree | 79cd9ab6620461cabf96757bf59f7b078dc699ce /server/sonar-server | |
parent | 7e270ada5f52d2181577c6afa9e923d4f5a7cf7b (diff) | |
download | sonarqube-bb0accf381797528581640be0f5d824e7e3cf683.tar.gz sonarqube-bb0accf381797528581640be0f5d824e7e3cf683.zip |
SC-702 support new property sonar.log.useJsonOutput
Diffstat (limited to 'server/sonar-server')
-rw-r--r-- | server/sonar-server/src/test/java/org/sonar/server/app/WebServerProcessLoggingTest.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/server/sonar-server/src/test/java/org/sonar/server/app/WebServerProcessLoggingTest.java b/server/sonar-server/src/test/java/org/sonar/server/app/WebServerProcessLoggingTest.java index 87056ecf5b9..b5612766341 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/app/WebServerProcessLoggingTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/app/WebServerProcessLoggingTest.java @@ -28,6 +28,9 @@ import ch.qos.logback.core.Appender; import ch.qos.logback.core.AppenderBase; import ch.qos.logback.core.ConsoleAppender; import ch.qos.logback.core.FileAppender; +import ch.qos.logback.core.OutputStreamAppender; +import ch.qos.logback.core.encoder.Encoder; +import ch.qos.logback.core.encoder.LayoutWrappingEncoder; import ch.qos.logback.core.joran.spi.JoranException; import com.google.common.collect.ImmutableList; import java.io.File; @@ -44,6 +47,7 @@ import org.junit.rules.ExpectedException; import org.junit.rules.TemporaryFolder; import org.sonar.process.Props; import org.sonar.process.logging.LogbackHelper; +import org.sonar.process.logging.LogbackJsonLayout; import static org.assertj.core.api.Assertions.assertThat; import static org.slf4j.Logger.ROOT_LOGGER_NAME; @@ -497,6 +501,19 @@ public class WebServerProcessLoggingTest { .forEach(loggerName -> assertThat(context.getLogger(loggerName).getLevel()).isEqualTo(Level.OFF)); } + @Test + public void use_json_output() { + props.set("sonar.log.useJsonOutput", "true"); + + LoggerContext context = underTest.configure(props); + + Logger rootLogger = context.getLogger(ROOT_LOGGER_NAME); + OutputStreamAppender appender = (OutputStreamAppender)rootLogger.getAppender("file_web"); + Encoder<ILoggingEvent> encoder = appender.getEncoder(); + assertThat(encoder).isInstanceOf(LayoutWrappingEncoder.class); + assertThat(((LayoutWrappingEncoder)encoder).getLayout()).isInstanceOf(LogbackJsonLayout.class); + } + private void verifyRootLogLevel(LoggerContext ctx, Level expected) { Logger rootLogger = ctx.getLogger(ROOT_LOGGER_NAME); assertThat(rootLogger.getLevel()).isEqualTo(expected); |