/** * Gets the root logger. * * @return the root logger. */ public Logger getRootLogger() { return loggerContext.getRootLogger(); }
/** * Creates console appender with some reasonable default logging settings. * * @return Logger with auto configured console appender. */ public Logger createConsoleLogger() { // from http://logging.apache.org/log4j/2.x/manual/customconfig.html final LoggerContext ctx = impl.getContext(); final Configuration cfg = ctx.getConfiguration(); PatternLayout.Builder builder = PatternLayout.newBuilder() .withPattern("%d{ISO8601}][%-5p][%t][%c{1}] %m%n") .withCharset(Charset.defaultCharset()) .withAlwaysWriteExceptions(false) .withNoConsoleNoAnsi(false); PatternLayout layout = builder.build(); ConsoleAppender.Builder consoleAppenderBuilder = ConsoleAppender.newBuilder() .withName(CONSOLE_APPENDER) .withLayout(layout); ConsoleAppender consoleApp = consoleAppenderBuilder.build(); consoleApp.start(); cfg.addAppender(consoleApp); cfg.getRootLogger().addAppender(consoleApp, Level.TRACE, null); ctx.updateLoggers(cfg); return ctx.getRootLogger(); }
@Override public void afterRun(FeaturesRunner runner) { // discard class filter classFilter = null; currentFilter = null; // don't stop appender as it could still be called after removed (race condition) // nevertheless this doesn't affect us as we're outside tests LoggerContext.getContext(false).getRootLogger().removeAppender(logAppender); }
public void restoreConsoleLog() { if (consoleAppender == null) { return; } Logger rootLogger = LoggerContext.getContext(false).getRootLogger(); rootLogger.removeAppender(hiddenAppender); rootLogger.addAppender(consoleAppender); consoleAppender = null; hiddenAppender = null; }
serverConfigurator = new UnknownServerConfigurator(this); if (LoggerContext.getContext(false).getRootLogger().getAppenders().isEmpty()) { serverConfigurator.initLogs();
@Override public void beforeRun(FeaturesRunner runner) throws Exception { // create class filter classFilter = instantiateFilter(() -> runner.getConfig(FilterWith.class), () -> runner.getConfig(FilterOn.class)); if (classFilter == null) { log.info("Class {} uses LogCaptureFeature without defining a filter", runner.getTargetTestClass().getName()); } // set current filter and start appender currentFilter = classFilter; logAppender.start(); LoggerContext.getContext(false).getRootLogger().addAppender(logAppender); }
if(!context.getRootLogger().getAppenders().containsKey(fileAppenderName)){ FileAppender appender = appenderBuilder.build(); appender.start(); context.getRootLogger().addAppender(appender);
/** * @since 9.10 */ public void setConsoleLogThreshold(String level) { if (consoleAppender != null) { return; } Logger rootLogger = LoggerContext.getContext(false).getRootLogger(); consoleAppender = (ConsoleAppender) rootLogger.getAppenders().get(CONSOLE_APPENDER); rootLogger.removeAppender(consoleAppender); ConsoleAppender newAppender = ConsoleAppender.newBuilder() .withName(CONSOLE_LOG_FEATURE_APPENDER) .setTarget(Target.SYSTEM_OUT) .withFilter(ThresholdFilter.createFilter(Level.toLevel(level), null, null)) .build(); newAppender.start(); rootLogger.addAppender(newAppender); hiddenAppender = newAppender; }
/** * Creates console appender with some reasonable default logging settings. * * @return Logger with auto configured console appender. */ public Logger createConsoleLogger() { // from http://logging.apache.org/log4j/2.x/manual/customconfig.html final LoggerContext ctx = impl.getContext(); final Configuration cfg = ctx.getConfiguration(); PatternLayout.Builder builder = PatternLayout.newBuilder() .withPattern("%d{ISO8601}][%-5p][%t][%c{1}] %m%n") .withCharset(Charset.defaultCharset()) .withAlwaysWriteExceptions(false) .withNoConsoleNoAnsi(false); PatternLayout layout = builder.build(); ConsoleAppender.Builder consoleAppenderBuilder = ConsoleAppender.newBuilder() .withName(CONSOLE_APPENDER) .withLayout(layout); ConsoleAppender consoleApp = consoleAppenderBuilder.build(); consoleApp.start(); cfg.addAppender(consoleApp); cfg.getRootLogger().addAppender(consoleApp, Level.TRACE, null); ctx.updateLoggers(cfg); return ctx.getRootLogger(); }