Browse Source

SONAR-4756 Remove thread part from log format when profilingLevel < FULL

tags/4.2
Jean-Baptiste Lievremont 10 years ago
parent
commit
9389e3b8fa

+ 1
- 1
sonar-application/src/main/resources/logback.xml View File

@@ -22,7 +22,7 @@
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!-- Use %d{yyyy.MM.dd HH:mm:ss.SSS} to display milliseconds -->
<pattern>
%d{yyyy.MM.dd HH:mm:ss} %-5level %thread [%logger{20}] %X %msg%n
%d{yyyy.MM.dd HH:mm:ss} %-5level [%logger{20}] %X %msg%n
</pattern>
</encoder>
</appender>

+ 5
- 3
sonar-core/src/main/java/org/sonar/core/config/Logback.java View File

@@ -75,7 +75,9 @@ public class Logback implements BatchComponent, ServerComponent {
configurator.setContext(configureContext(lc, substitutionVariables));
configurator.doConfigure(input);
if (isConsoleEnabled(substitutionVariables)) {
((Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME)).addAppender(consoleAppender(lc));
Logger rootLogger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
rootLogger.setAdditive(false);
rootLogger.addAppender(consoleAppender(lc, substitutionVariables));
}
} catch (JoranException e) {
// StatusPrinter will handle this
@@ -97,9 +99,9 @@ public class Logback implements BatchComponent, ServerComponent {
return Boolean.valueOf(substitutionVariables.get("CONSOLE_ENABLED"));
}

private static Appender<ILoggingEvent> consoleAppender(LoggerContext context) {
private static Appender<ILoggingEvent> consoleAppender(LoggerContext context, Map<String, String> substitutionVariables) {
PatternLayoutEncoder encoder = new PatternLayoutEncoder();
encoder.setPattern("%d{yyyy.MM.dd HH:mm:ss} %-5level %thread [%logger{20}] %X %msg%n");
encoder.setPattern(substitutionVariables.get("CONSOLE_LOGGING_FORMAT"));
encoder.setContext(context);
encoder.start();
ConsoleAppender<ILoggingEvent> console = new ConsoleAppender<ILoggingEvent>();

+ 14
- 1
sonar-server/src/main/java/org/sonar/server/platform/PlatformLifecycleListener.java View File

@@ -20,7 +20,6 @@
package org.sonar.server.platform;

import com.google.common.collect.ImmutableMap;

import org.slf4j.LoggerFactory;
import org.sonar.core.config.Logback;
import org.sonar.core.profiling.Profiling;
@@ -36,6 +35,18 @@ public final class PlatformLifecycleListener implements ServletContextListener {

private static final String CONFIG_LOG_CONSOLE = "sonar.log.console";

private static final String LOG_COMMON_PREFIX = "%d{yyyy.MM.dd HH:mm:ss} %-5level ";
private static final String LOG_COMMON_SUFFIX = "%msg%n";

private static final String LOG_LOGFILE_SPECIFIC_PART = "[%logger{20}] %X ";
private static final String LOG_FULL_SPECIFIC_PART = "%thread ";

private static final String LOGFILE_STANDARD_LOGGING_FORMAT = LOG_COMMON_PREFIX + LOG_LOGFILE_SPECIFIC_PART + LOG_COMMON_SUFFIX;
private static final String LOGFILE_FULL_LOGGING_FORMAT = LOG_COMMON_PREFIX + LOG_FULL_SPECIFIC_PART + LOG_LOGFILE_SPECIFIC_PART + LOG_COMMON_SUFFIX;

private static final String CONSOLE_STANDARD_LOGGING_FORMAT = LOG_COMMON_PREFIX + LOG_COMMON_SUFFIX;
private static final String CONSOLE_FULL_LOGGING_FORMAT = LOG_COMMON_PREFIX + LOG_FULL_SPECIFIC_PART + LOG_COMMON_SUFFIX;

public void contextInitialized(ServletContextEvent event) {
try {
configureLogback(event);
@@ -79,6 +90,8 @@ public final class PlatformLifecycleListener implements ServletContextListener {
"false");
Map<String, String> variables = ImmutableMap.of(
"RAILS_LOGGER_LEVEL", profilingLevel == Profiling.Level.FULL ? "DEBUG" : "WARN",
"LOGFILE_LOGGING_FORMAT", profilingLevel == Profiling.Level.FULL ? LOGFILE_FULL_LOGGING_FORMAT : LOGFILE_STANDARD_LOGGING_FORMAT,
"CONSOLE_LOGGING_FORMAT", profilingLevel == Profiling.Level.FULL ? CONSOLE_FULL_LOGGING_FORMAT : CONSOLE_STANDARD_LOGGING_FORMAT,
"CONSOLE_ENABLED", consoleEnabled);
Logback.configure("/org/sonar/server/platform/logback.xml", variables);
}

+ 2
- 2
sonar-server/src/main/resources/org/sonar/server/platform/logback.xml View File

@@ -22,7 +22,7 @@
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!-- Use %d{yyyy.MM.dd HH:mm:ss.SSS} to display milliseconds -->
<pattern>
%d{yyyy.MM.dd HH:mm:ss} %-5level %thread [%logger{20}] %X %msg%n
${LOGFILE_LOGGING_FORMAT}
</pattern>
</encoder>
</appender>
@@ -30,7 +30,7 @@
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>
%d{yyyy.MM.dd HH:mm:ss} %-5level %msg%n
${CONSOLE_LOGGING_FORMAT}
</pattern>
</encoder>
</appender>

Loading…
Cancel
Save