private void putLevel(String loggerName, Level level) { if (loggerName.equals(ROOT_LOGGER_NAME)) { putProperty(loggerName + ".level", level.toString()); } else { putProperty("logger." + loggerName + ".name", loggerName); putProperty("logger." + loggerName + ".level", level.toString()); } }
public void internalLogLevel(Level level) { putProperty("status", level.toString()); }
/** * Make log4j2 configuration for a process to push all its logs to a log file. * <p> * <ul> * <li>the file's name will use the prefix defined in {@link RootLoggerConfig#getProcessId()#getLogFilenamePrefix()}.</li> * <li>the file will follow the rotation policy defined in property {@link #ROLLING_POLICY_PROPERTY} and * the max number of files defined in property {@link #MAX_FILES_PROPERTY}</li> * <li>the logs will follow the specified log pattern</li> * </ul> * </p> * * @see #buildLogPattern(RootLoggerConfig) */ public void configureGlobalFileLog(RootLoggerConfig config, File logDir, String logPattern) { String appenderRef = writeFileAppender(config, logDir, logPattern); putProperty(ROOT_LOGGER_NAME + ".appenderRef." + appenderRef + ".ref", appenderRef); }
public void apply(LogLevelConfig logLevelConfig) { if (!ROOT_LOGGER_NAME.equals(logLevelConfig.getRootLoggerName())) { throw new IllegalArgumentException("Value of LogLevelConfig#rootLoggerName must be \"" + ROOT_LOGGER_NAME + "\""); } Level propertyValueAsLevel = getPropertyValueAsLevel(props, SONAR_LOG_LEVEL_PROPERTY); boolean traceGloballyEnabled = propertyValueAsLevel == Level.TRACE; List<String> loggerNames = Stream.of( logLevelConfig.getConfiguredByProperties().keySet().stream(), logLevelConfig.getConfiguredByHardcodedLevel().keySet().stream(), logLevelConfig.getOffUnlessTrace().stream().filter(k -> !traceGloballyEnabled)) .flatMap(s -> s) .filter(loggerName -> !ROOT_LOGGER_NAME.equals(loggerName)) .distinct() .sorted() .collect(Collectors.toList()); if (!loggerNames.isEmpty()) { putProperty("loggers", loggerNames.stream().collect(Collectors.joining(","))); } logLevelConfig.getConfiguredByProperties().forEach((loggerName, value) -> applyLevelByProperty(props, loggerName, value)); logLevelConfig.getConfiguredByHardcodedLevel().forEach(this::applyHardcodedLevel); logLevelConfig.getOffUnlessTrace().stream().filter(k -> !traceGloballyEnabled).forEach(logger -> applyHardcodedLevel(logger, Level.OFF)); }