@VisibleForTesting public void addToLogger(String loggerName, Level level) { LoggerConfig loggerConfig = configuration.getLoggerConfig(loggerName); loggerConfig.addAppender(this, level, null); context.updateLoggers(); }
public void addToLogger(String loggerName, Level level) { LoggerConfig loggerConfig = configuration.getLoggerConfig(loggerName); loggerConfig.addAppender(this, level, null); context.updateLoggers(); }
public void addToLogger(String loggerName, Level level) { LoggerConfig loggerConfig = configuration.getLoggerConfig(loggerName); loggerConfig.addAppender(this, level, null); context.updateLoggers(); }
static void updateLoggers(final Appender appender, final Configuration config) { final Level level = null; final Filter filter = null; for (final LoggerConfig loggerConfig : config.getLoggers().values()) { loggerConfig.addAppender(appender, level, filter); } config.getRootLogger().addAppender(appender, level, filter); }
@VisibleForTesting public void addToLogger(String loggerName, Level level) { LoggerConfig loggerConfig = configuration.getLoggerConfig(loggerName); loggerConfig.addAppender(this, level, null); context.updateLoggers(); }
/** * Add an appender to Log4j which sends all INFO+ messages to a separate file which will be used * later to scan for suspect strings. The pattern of the messages conforms to the original log * format so that hydra will be able to parse them. */ private static void addSuspectFileAppender(final String workspaceDir) { final String suspectFilename = new File(workspaceDir, SUSPECT_FILENAME).getAbsolutePath(); final LoggerContext appenderContext = ((org.apache.logging.log4j.core.Logger) LogManager .getLogger(Configuration.MAIN_LOGGER_NAME)) .getContext(); final PatternLayout layout = PatternLayout.createLayout( "[%level{lowerCase=true} %date{yyyy/MM/dd HH:mm:ss.SSS z} <%thread> tid=%tid] %message%n%throwable%n", null, null, null, Charset.defaultCharset(), true, false, "", ""); final FileAppender fileAppender = FileAppender.createAppender(suspectFilename, "true", "false", DUnitLauncher.class.getName(), "true", "false", "false", "0", layout, null, null, null, appenderContext.getConfiguration()); fileAppender.start(); LoggerConfig loggerConfig = appenderContext.getConfiguration().getLoggerConfig(Configuration.MAIN_LOGGER_NAME); loggerConfig.addAppender(fileAppender, Level.INFO, null); }
@VisibleForTesting public void addToLogger(String loggerName, Level level) { LoggerConfig loggerConfig = configuration.getLoggerConfig(loggerName); loggerConfig.addAppender(this, level, null); context.updateLoggers(); }
String addAppender(final Writer writer) { final String name = "openfire-s2s-test-appender-" + StringUtils.randomString( 10 ); final LoggerContext context = LoggerContext.getContext(false); final Configuration config = context.getConfiguration(); final PatternLayout layout = PatternLayout.createDefaultLayout(config); final Appender appender = WriterAppender.createAppender(layout, null, writer, name, false, true); appender.start(); config.addAppender(appender); final Level level = null; final Filter filter = null; for (final LoggerConfig loggerConfig : config.getLoggers().values()) { loggerConfig.addAppender(appender, level, filter); } config.getRootLogger().addAppender(appender, level, filter); return name; }
private void addInstrumentedAppender(final MetricRegistry metrics, final Level level) { final InstrumentedAppender appender = new InstrumentedAppender(metrics, null, null, false); appender.start(); final LoggerContext context = (LoggerContext) LogManager.getContext(false); final org.apache.logging.log4j.core.config.Configuration config = context.getConfiguration(); config.getLoggerConfig(LogManager.ROOT_LOGGER_NAME).addAppender(appender, level, null); context.updateLoggers(config); }
private boolean configureSecurityAppenders(final String name, final Level level) { Configuration log4jConfiguration = getRootLoggerContext().getConfiguration(); LoggerConfig loggerConfig = log4jConfiguration.getLoggerConfig(name); if (!loggerConfig.getName().equals(SECURITY_LOGGER_NAME)) { return false; } Appender stdoutAppender = log4jConfiguration.getAppender(GEODE_CONSOLE_APPENDER_NAME); Appender mainLogWriterAppender = log4jConfiguration.getAppender(LOGWRITER_APPENDER_NAME); if (stdoutAppender != null) { loggerConfig.addAppender(stdoutAppender, level, null); } if (mainLogWriterAppender != null) { loggerConfig.addAppender(mainLogWriterAppender, level, null); } loggerConfig.setAdditive(true); getRootLoggerContext().updateLoggers(); return true; }
@Override protected void setUp() throws Exception { super.setUp(); Logger logger = LoggerFactory.getLogger(LogOrRethrowExceptionHandler.class); writer = new StringWriter(); LoggerContext loggerContext = (LoggerContext) LogManager.getContext(); Configuration configuration = loggerContext.getConfiguration(); LoggerConfig rootLoggerConfig = configuration.getLoggerConfig(logger.getName()); rootLoggerConfig.getAppenders().forEach((name, appender) -> { rootLoggerConfig.removeAppender(name); }); Appender appender = WriterAppender.createAppender(PatternLayout.createDefaultLayout(), null, writer,"TESTWriter", false, false); rootLoggerConfig.addAppender(appender, org.apache.logging.log4j.Level.DEBUG, null); }
loggerConfig.addAppender(routingAppender, null, null); context.updateLoggers(); routingAppender.start();
void register() { if (LogManager.getContext(false) instanceof LoggerContext) { final LoggerContext ctx = (LoggerContext) LogManager.getContext(false); if (ctx.getConfiguration() instanceof AbstractConfiguration) { final AbstractConfiguration config = (AbstractConfiguration) ctx.getConfiguration(); final Appender appender = getSingleton(); appender.start(); config.addAppender(appender); final Logger rootLogger = LogManager.getRootLogger(); final LoggerConfig loggerConfig = config.getLoggerConfig(rootLogger.getName()); loggerConfig.addAppender(appender, null, null); ctx.updateLoggers(); } } }
/** * 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(); }
loggerConfig.addAppender(routingAppender, null, null); context.updateLoggers(); routingAppender.start();
loggerConfig.addAppender(appender, null, null); config.addLogger("org.apache.logging.log4j", loggerConfig); ctx.updateLoggers();
private void doAddAppender(LoggerContext context, Appender appender) { appender.start(); context.getConfiguration().addAppender(appender); getRootLogger(context).addAppender(appender, Level.ALL, null); }
@Override public void run() { LoggerConfig rootLogger = ((AbstractConfiguration) context.getConfiguration()).getRootLogger(); Collection<Appender> appenders = new ArrayList<>(); appenders.add(ConsoleAppender.createAppender(mock(Layout.class), null, null, "Console", null, null)); when(rootLogger.getAppenders().values()).thenReturn(appenders); contextConfigurer.configure(context); verify(context.getConfiguration(), never()).addAppender(any(ConsoleAppender.class)); verify(rootLogger, never()).addAppender(any(ConsoleAppender.class), same(Level.INFO), any(Filter.class)); } });
@Override public void run() { contextConfigurer.update(context); ArgumentCaptor<ConsoleAppender> appenderCaptor = ArgumentCaptor.forClass(ConsoleAppender.class); verify(context.getConfiguration()).addAppender(appenderCaptor.capture()); Appender forcedConsoleAppender = appenderCaptor.getValue(); assertThat(forcedConsoleAppender, notNullValue()); assertThat(forcedConsoleAppender.getName(), equalTo(FORCED_CONSOLE_APPENDER_NAME)); assertThat(forcedConsoleAppender.isStarted(), is(true)); LoggerConfig rootLogger = ((AbstractConfiguration) context.getConfiguration()).getRootLogger(); verify(rootLogger).addAppender(forcedConsoleAppender, Level.ALL, null); } });
public static void addAppender(final Logger logger, final Appender appender) { final LoggerContext ctx = (LoggerContext) LogManager.getContext(false); final Configuration config = ctx.getConfiguration(); config.addAppender(appender); LoggerConfig loggerConfig = config.getLoggerConfig(logger.getName()); if (!logger.getName().equals(loggerConfig.getName())) { loggerConfig = new LoggerConfig(logger.getName(), logger.getLevel(), true); config.addLogger(logger.getName(), loggerConfig); } loggerConfig.addAppender(appender, null, null); ctx.updateLoggers(); }