aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-server
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2019-06-10 15:49:07 +0200
committersonartech <sonartech@sonarsource.com>2019-06-28 08:45:46 +0200
commitbb0accf381797528581640be0f5d824e7e3cf683 (patch)
tree79cd9ab6620461cabf96757bf59f7b078dc699ce /server/sonar-server
parent7e270ada5f52d2181577c6afa9e923d4f5a7cf7b (diff)
downloadsonarqube-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.java17
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);