@Test public void testUpdateLoggersPropertyListeners() throws Exception { final LoggerContext ctx = context.getLoggerContext(); ctx.addPropertyChangeListener(new PropertyChangeListener() { @Override public void propertyChange(final PropertyChangeEvent evt) { assertEquals(LoggerContext.PROPERTY_CONFIG, evt.getPropertyName()); assertSame(ctx, evt.getSource()); } }); ctx.updateLoggers(); } }
/** * Constructs a new {@code LoggerContextAdmin} with the {@code Executor} to be used for sending {@code Notification} * s asynchronously to listeners. * * @param executor used to send notifications asynchronously * @param loggerContext the instrumented object */ public LoggerContextAdmin(final LoggerContext loggerContext, final Executor executor) { super(executor, createNotificationInfo()); this.loggerContext = Objects.requireNonNull(loggerContext, "loggerContext"); try { final String ctxName = Server.escape(loggerContext.getName()); final String name = String.format(PATTERN, ctxName); objectName = new ObjectName(name); } catch (final Exception e) { throw new IllegalStateException(e); } loggerContext.addPropertyChangeListener(this); }
private static void init() { LoggerContext context = ((org.apache.logging.log4j.core.Logger) LogManager.getLogger(BASE_LOGGER_NAME, GemFireParameterizedMessageFactory.INSTANCE)).getContext(); context.removePropertyChangeListener(propertyChangeListener); context.addPropertyChangeListener(propertyChangeListener); context.reconfigure(); // propertyChangeListener invokes configureFastLoggerDelegating configureLoggers(false, false); }
public synchronized void addAlertListener(final DistributedMember member, final int alertLevel) { final Level level = LogService.toLevel(alertLevelToLogLevel(alertLevel)); if (this.listeners.size() == 0) { this.appenderContext.getLoggerContext().addPropertyChangeListener(this); } addListenerToSortedList(new Listener(level, member)); LoggerConfig loggerConfig = this.appenderContext.getLoggerConfig(); loggerConfig.addAppender(this, this.listeners.get(0).getLevel(), null); if (logger.isDebugEnabled()) { logger.debug("Added/Replaced alert listener for member {} at level {}", member, level); } }
/** * Used by LogWriterAppenders and tests to create a new instance. * * @return The new instance. */ static final LogWriterAppender create(final AppenderContext[] contexts, final String name, final PureLogWriter logWriter, final FileOutputStream fos) { LogWriterAppender appender = new LogWriterAppender(contexts, name, logWriter, fos); for (AppenderContext context : appender.appenderContexts) { context.getLoggerContext().addPropertyChangeListener(appender); } appender.start(); for (AppenderContext context : appender.appenderContexts) { context.getLoggerConfig().addAppender(appender, Level.ALL, null); } return appender; }