@Override protected LoggerLevel getLevel() { ch.qos.logback.classic.Logger logback = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME); switch (logback.getLevel().levelInt) { case Level.TRACE_INT: return LoggerLevel.TRACE; case Level.DEBUG_INT: return LoggerLevel.DEBUG; default: return LoggerLevel.INFO; } }
public String getLoggerLevel(String loggerName) { if (loggerName == null) { return EMPTY; } loggerName = loggerName.trim(); LoggerContext lc = (LoggerContext) context; Logger logger = lc.exists(loggerName); if (logger != null && logger.getLevel() != null) { return logger.getLevel().toString(); } else { return EMPTY; } }
private void verifyTomcatLoggersLogLevelsOff(LoggerContext context) { assertThat(context.getLogger("org.apache.catalina.core.ContainerBase").getLevel()).isEqualTo(Level.OFF); assertThat(context.getLogger("org.apache.catalina.core.StandardContext").getLevel()).isEqualTo(Level.OFF); assertThat(context.getLogger("org.apache.catalina.core.StandardService").getLevel()).isEqualTo(Level.OFF); }
private void verifyRootLogLevel(LoggerContext ctx, Level expected) { Logger rootLogger = ctx.getLogger(ROOT_LOGGER_NAME); assertThat(rootLogger.getLevel()).isEqualTo(expected); } }
private void verifyJmxLogLevel(LoggerContext ctx, Level expected) { assertThat(ctx.getLogger("javax.management.remote.timeout").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("javax.management.remote.misc").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("javax.management.remote.rmi").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("javax.management.mbeanserver").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("sun.rmi.loader").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("sun.rmi.transport.tcp").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("sun.rmi.transport.misc").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("sun.rmi.server.call").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("sun.rmi.dgc").getLevel()).isEqualTo(expected); }
private void verifyJmxLogLevel(LoggerContext ctx, Level expected) { assertThat(ctx.getLogger("javax.management.remote.timeout").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("javax.management.remote.misc").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("javax.management.remote.rmi").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("javax.management.mbeanserver").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("sun.rmi.loader").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("sun.rmi.transport.tcp").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("sun.rmi.transport.misc").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("sun.rmi.server.call").getLevel()).isEqualTo(expected); assertThat(ctx.getLogger("sun.rmi.dgc").getLevel()).isEqualTo(expected); }
public void begin(InterpretationContext ec, String name, Attributes attributes) { Object o = ec.peekObject(); if (!(o instanceof Logger)) { inError = true; addError("For element <level>, could not find a logger at the top of execution stack."); return; } Logger l = (Logger) o; String loggerName = l.getName(); String levelStr = ec.subst(attributes.getValue(ActionConst.VALUE_ATTR)); // addInfo("Encapsulating logger name is [" + loggerName // + "], level value is [" + levelStr + "]."); if (ActionConst.INHERITED.equalsIgnoreCase(levelStr) || ActionConst.NULL.equalsIgnoreCase(levelStr)) { l.setLevel(null); } else { l.setLevel(Level.toLevel(levelStr, Level.DEBUG)); } addInfo(loggerName + " level set to " + l.getLevel()); }
@Test public void configure_turns_off_some_MsSQL_driver_logger() { LoggerContext context = underTest.configure(props); Stream.of("com.microsoft.sqlserver.jdbc.internals", "com.microsoft.sqlserver.jdbc.ResultSet", "com.microsoft.sqlserver.jdbc.Statement", "com.microsoft.sqlserver.jdbc.Connection") .forEach(loggerName -> assertThat(context.getLogger(loggerName).getLevel()).isEqualTo(Level.OFF)); }
@Test public void configure_turns_off_some_MsSQL_driver_logger() { LoggerContext context = underTest.configure(props); Stream.of("com.microsoft.sqlserver.jdbc.internals", "com.microsoft.sqlserver.jdbc.ResultSet", "com.microsoft.sqlserver.jdbc.Statement", "com.microsoft.sqlserver.jdbc.Connection") .forEach(loggerName -> assertThat(context.getLogger(loggerName).getLevel()).isEqualTo(Level.OFF)); }
@Test public void configure_turns_off_some_Tomcat_loggers_if_global_log_level_is_TRACE() { props.set("sonar.log.level", "TRACE"); LoggerContext context = underTest.configure(props); assertThat(context.getLogger("org.apache.catalina.core.ContainerBase").getLevel()).isNull(); assertThat(context.getLogger("org.apache.catalina.core.StandardContext").getLevel()).isNull(); assertThat(context.getLogger("org.apache.catalina.core.StandardService").getLevel()).isNull(); }
@Test public void apply_set_level_to_OFF_if_sonar_global_level_is_not_set() { LoggerContext context = underTest.apply(newLogLevelConfig().offUnlessTrace("fii").build(), new Props(new Properties())); assertThat(context.getLogger("fii").getLevel()).isEqualTo(Level.OFF); }
@Test public void apply_sets_logger_to_INFO_if_no_property_is_set() { LogLevelConfig config = newLogLevelConfig().rootLevelFor(ProcessId.WEB_SERVER).build(); LoggerContext context = underTest.apply(config, props); assertThat(context.getLogger(ROOT_LOGGER_NAME).getLevel()).isEqualTo(Level.INFO); }
@Test public void apply_sets_logger_to_process_property_if_set() { LogLevelConfig config = newLogLevelConfig().rootLevelFor(ProcessId.WEB_SERVER).build(); props.set("sonar.log.level.web", "DEBUG"); LoggerContext context = underTest.apply(config, props); assertThat(context.getLogger(ROOT_LOGGER_NAME).getLevel()).isEqualTo(Level.DEBUG); }
@Test public void apply_sets_logger_to_globlal_property_if_set() { LogLevelConfig config = newLogLevelConfig().rootLevelFor(ProcessId.WEB_SERVER).build(); props.set("sonar.log.level", "TRACE"); LoggerContext context = underTest.apply(config, props); assertThat(context.getLogger(ROOT_LOGGER_NAME).getLevel()).isEqualTo(Level.TRACE); }
@Test public void apply_sets_logger_to_process_property_over_global_property_if_both_set() { LogLevelConfig config = newLogLevelConfig().rootLevelFor(ProcessId.WEB_SERVER).build(); props.set("sonar.log.level", "DEBUG"); props.set("sonar.log.level.web", "TRACE"); LoggerContext context = underTest.apply(config, props); assertThat(context.getLogger(ROOT_LOGGER_NAME).getLevel()).isEqualTo(Level.TRACE); }
@Test public void apply_sets_domain_property_over_global_property_if_both_set() { LogLevelConfig config = newLogLevelConfig().levelByDomain("foo", ProcessId.WEB_SERVER, LogDomain.ES).build(); props.set("sonar.log.level", "DEBUG"); props.set("sonar.log.level.web.es", "TRACE"); LoggerContext context = underTest.apply(config, props); assertThat(context.getLogger("foo").getLevel()).isEqualTo(Level.TRACE); }
@Test public void apply_sets_domain_property_over_process_property_if_both_set() { LogLevelConfig config = newLogLevelConfig().levelByDomain("foo", ProcessId.WEB_SERVER, LogDomain.ES).build(); props.set("sonar.log.level.web", "DEBUG"); props.set("sonar.log.level.web.es", "TRACE"); LoggerContext context = underTest.apply(config, props); assertThat(context.getLogger("foo").getLevel()).isEqualTo(Level.TRACE); }
@Test public void apply_sets_domain_property_over_process_and_global_property_if_all_set() { LogLevelConfig config = newLogLevelConfig().levelByDomain("foo", ProcessId.WEB_SERVER, LogDomain.ES).build(); props.set("sonar.log.level", "DEBUG"); props.set("sonar.log.level.web", "DEBUG"); props.set("sonar.log.level.web.es", "TRACE"); LoggerContext context = underTest.apply(config, props); assertThat(context.getLogger("foo").getLevel()).isEqualTo(Level.TRACE); }
private static LoggerInfo doGetLoggerInfo(Logger logger) { LoggerInfo info = new LoggerInfo(logger.getName(), logger.isAdditive()); Level level = logger.getLevel(), effectiveLevel = logger.getEffectiveLevel(); if (level != null) { info.setLevel(level.toString()); } if (effectiveLevel != null) { info.setEffectiveLevel(effectiveLevel.toString()); } List<AppenderInfo> result = doGetLoggerAppenders(logger.iteratorForAppenders()); info.setAppenders(result); return info; }