public LogCustomizerBuilder enable(org.slf4j.event.Level level) { this.enableLevel = fromSlf4jLevel(level); return this; }
@Override protected void starting(Description description) { registerAppender(); }
@Override protected void finished(Description description) { deregisterAppender(); }
@After public void after() { logCustomizer.finished(); }
public static LogCustomizerBuilder forRootLogger() { return forLogger(ROOT_LOGGER_NAME); }
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override protected void finished(Description description) { for (Iterator<AppenderFilter> it = appenderFilters.iterator(); it.hasNext();) { AppenderFilter appenderFilter = (AppenderFilter) it.next(); appenderFilter.finished(); } for (Iterator<LoggerLevel> it = loggerLevels.iterator(); it.hasNext();) { LoggerLevel loggerLevel = (LoggerLevel) it.next(); loggerLevel.finished(); } for (Iterator<Appender> it = newAppenders.iterator(); it.hasNext();) { Appender appender = it.next(); rootLogger().detachAppender(appender); } }
@Override protected void starting(Description description) { for (Iterator<AppenderFilter> it = appenderFilters.iterator(); it.hasNext();) { AppenderFilter appenderFilter = (AppenderFilter) it.next(); appenderFilter.starting(); } for (Iterator<LoggerLevel> it = loggerLevels.iterator(); it.hasNext();) { LoggerLevel loggerLevel = (LoggerLevel) it.next(); loggerLevel.starting(); } }
private void registerAppender() { appender = new CyclicBufferAppender<ILoggingEvent>(); appender.setMaxSize(logBufferSize); appender.setContext(getContext()); appender.setName("TestLogCollector"); appender.start(); rootLogger().addAppender(appender); }
private static ch.qos.logback.classic.Logger rootLogger() { return getContext().getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME); } }
public LogCustomizer create() { return new LogCustomizer(name, enableLevel, filterLevel, matchExactMessage, matchContainsMessage, matchRegexMessage); }
public static LogCustomizerBuilder forLogger(String name) { return new LogCustomizerBuilder(name); }
/** Change the log level of a particular logger during the test **/ public LogLevelModifier setLoggerLevel(String loggerName, String level) { loggerLevels.add(new LoggerLevel(loggerName, level)); return this; }
/** * Adds a ThresholdFilter with the given level to an existing appender during the test. * <p> * Note that unless you filter existing appenders, changing the log level via setLoggerLevel * will, as a side-effect, also apply and influence existing appenders. So the * idea is to do eg addAppenderFilter("console", "warn") to make sure nothing * gets logged on console, when changing a log level. */ public LogLevelModifier addAppenderFilter(String appenderName, String level) { appenderFilters.add(new AppenderFilter(appenderName, level)); return this; }
private static ch.qos.logback.classic.Logger rootLogger() { return getContext().getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME); } }
private void deregisterAppender() { if (appender != null) { rootLogger().detachAppender(appender); appender.stop(); appender = null; } }
@After public void after() { logCustomizer.finished(); }
public LogCustomizerBuilder filter(org.slf4j.event.Level level) { this.filterLevel = fromSlf4jLevel(level); return this; }
private static PatternLayout createLayout() { PatternLayout pl = new PatternLayout(); pl.setPattern(DEFAULT_PATTERN); pl.setOutputPatternAsHeader(false); pl.setContext(getContext()); pl.start(); return pl; }