Refine search
for (final Node cnode : node.getChildren()) { final Node appNode = new Node(cnode); config.createConfiguration(appNode, event); if (appNode.getObject() instanceof Appender) { final Appender app = appNode.getObject(); app.start(); if (!(app instanceof RandomAccessFileAppender)) { String message = "Cannot handle appenders other than " + RandomAccessFileAppender.class.getName() + ". Found: " + app.getClass().getName(); LOGGER.error(message); throw new IllegalStateException(message); if (LOGGER.isDebugEnabled()) { RandomAccessFileAppender raf = (RandomAccessFileAppender) app; LOGGER.debug( "Setup new appender to write to file: " + raf.getFileName() + ", appenderName=" + raf.getName() + ", appenderManagerName=" + raf.getManager().getName());
void deregister() { 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.stop(); config.removeAppender(appender.getName()); final Logger rootLogger = LogManager.getRootLogger(); final LoggerConfig loggerConfig = config.getLoggerConfig(rootLogger.getName()); loggerConfig.removeAppender(appender.getName()); ctx.updateLoggers(); } } }
@Test public void testAppendWithKeyLookup() throws Exception { final Appender appender = ctx.getRequiredAppender("KafkaAppenderWithKeyLookup"); final LogEvent logEvent = createLogEvent(); Date date = new Date(); SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy"); appender.append(logEvent); final List<ProducerRecord<byte[], byte[]>> history = kafka.history(); assertEquals(1, history.size()); final ProducerRecord<byte[], byte[]> item = history.get(0); assertNotNull(item); assertEquals(TOPIC_NAME, item.topic()); byte[] keyValue = format.format(date).getBytes(StandardCharsets.UTF_8); assertArrayEquals(item.key(), keyValue); assertEquals(LOG_MESSAGE, new String(item.value(), StandardCharsets.UTF_8)); }
if (appenderControl.get() != null) { appenderControl.get().stop(); realAppender.get().stop(); if (LOGGER.isDebugEnabled()) { LOGGER.debug( "Stop invoked for " + ((RandomAccessFileAppender) realAppender.get()).getFileName()); LOGGER.info("RealAppender is null. Ignoring stop"); return;
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; }
/** * Validates that the code pattern we use to add an appender on the fly * works with a basic appender that is not the new OutputStream appender or * new Writer appender. */ @Test public void testUpdatePatternWithFileAppender() { final LoggerContext ctx = (LoggerContext) LogManager.getContext(false); final Configuration config = ctx.getConfiguration(); // @formatter:off final Appender appender = FileAppender.newBuilder() .withFileName("target/" + getClass().getName() + ".log") .withAppend(false) .withName("File") .withIgnoreExceptions(false) .withBufferedIo(false) .withBufferSize(4000) .setConfiguration(config) .build(); // @formatter:on appender.start(); config.addAppender(appender); ConfigurationTestUtils.updateLoggers(appender, config); LogManager.getLogger().error("FOO MSG"); } }
Configuration config = context.getConfiguration(); ConfigurationSource configSource = config.getConfigurationSource(); String packageHomeDir = WekaPackageManager.getPackageHome().getPath(); if (ConfigurationSource.NULL_SOURCE.equals(configSource)) { context.setConfigLocation(uri); log.info("Logging configuration loaded from source: {}", uri.toString()); if(!context.getRootLogger().getAppenders().containsKey(fileAppenderName)){ Appender consoleAppender = context.getLogger(log.getName()).getAppenders().get("Console"); Layout<? extends Serializable> layout = consoleAppender.getLayout();
this.setStopping(); super.stop(timeout, timeUnit, false); LOGGER.trace("Stopping {}...", this); loggerConfig.getReliabilityStrategy().beforeStopConfiguration(this); root.getReliabilityStrategy().beforeStopConfiguration(this); LOGGER.trace("{} notified {} ReliabilityStrategies that config will be stopped.", cls, loggerConfigs.size() + 1); LOGGER.trace("{} stopping {} LoggerConfigs.", cls, loggerConfigs.size()); for (final LoggerConfig logger : loggerConfigs.values()) { logger.stop(timeout, timeUnit); ((LifeCycle2) appender).stop(timeout, timeUnit); } else { appender.stop(); int appenderCount = 0; for (int i = array.length - 1; i >= 0; --i) { if (array[i].isStarted()) { // then stop remaining Appenders if (array[i] instanceof LifeCycle2) { ((LifeCycle2) array[i]).stop(timeout, timeUnit); } else { array[i].stop();
/** * Deletes the specified appender. * * @param key The appender's key */ public void deleteAppender(final String key) { LOGGER.debug("Deleting route with " + key + " key "); final AppenderControl control = appenders.remove(key); if (null != control) { LOGGER.debug("Stopping route with " + key + " key"); control.getAppender().stop(); } else { LOGGER.debug("Route with " + key + " key already deleted"); } }
@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); }
public static void removeAppender(final Logger logger, final Appender appender) { final LoggerContext ctx = (LoggerContext) LogManager.getContext(false); final Configuration config = ctx.getConfiguration(); 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.removeAppender(appender.getName()); ctx.updateLoggers(); }
ZebraRolloverStrategy.createStrategy("30", "1", null, Deflater.DEFAULT_COMPRESSION + "", config), layout, fileInfoFilter, "false", null, null, config); config.addAppender(fileInfoAppender); fileInfoAppender.start(); AppenderRef fileInfoRef = AppenderRef.createAppenderRef("FileInfo", null, fileInfoFilter); config.addAppender(consoleErrorAppender); consoleErrorAppender.start(); Appender consoleWarnAppender = ConsoleAppender.createAppender(layout, consoleWarnFilter, "SYSTEM_OUT", "ConsoleWarn", "false", "false"); config.addAppender(consoleWarnAppender); consoleWarnAppender.start(); AppenderRef consoleWarnAppenderRef = AppenderRef.createAppenderRef("ConsoleWarn", Level.WARN, consoleWarnFilter); AppenderRef consoleErrorAppenderRef = AppenderRef.createAppenderRef("ConsoleError", Level.WARN, null); LoggerConfig loggerConfig = LoggerConfig.createLogger("false", Level.INFO, "com.dianping.zebra", "true", refs, null, config, null); loggerConfig.addAppender(consoleErrorAppender, Level.ERROR, null); loggerConfig.addAppender(consoleWarnAppender, Level.INFO, null); loggerConfig.addAppender(fileInfoAppender, Level.INFO, null); config.addLogger("com.dianping.zebra", loggerConfig); ctx.updateLoggers();
private void doAddAppender(LoggerContext context, Appender appender) { appender.start(); context.getConfiguration().addAppender(appender); getRootLogger(context).addAppender(appender, Level.ALL, null); }
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(); } } }
public static void setAppender() { LoggerContext ctx = (LoggerContext) LogManager.getContext(true); org.apache.logging.log4j.core.config.Configuration config = ctx.getConfiguration(); // If the event logger already exists, do nothing if (config.getLoggers().containsKey(LOGGERNAME)) { return; } Layout<String> layout = PatternLayout.newBuilder().withPattern("%msg%n").withConfiguration(config).build(); Appender jsonappender = ConsoleAppender.newBuilder() .withName(APPENDERNAME) .setTarget(ConsoleAppender.Target.SYSTEM_ERR) .withLayout(layout) .setConfiguration(config) .build(); jsonappender.start(); config.addAppender(jsonappender); AppenderRef ref = AppenderRef.createAppenderRef(APPENDERNAME, null, null); LoggerConfig loggerConfig = LoggerConfig.createLogger(false, LOGLEVEL, LOGGERNAME, "false", new AppenderRef[] {ref}, new Property[]{}, config, (Filter) null); loggerConfig.addAppender(jsonappender, null, null); config.removeLogger(LOGGERNAME); config.addLogger(LOGGERNAME, loggerConfig); ctx.updateLoggers(); } }
@Override public void removeHandler(Object h) throws SecurityException { if(!(h instanceof Appender)) throw new IllegalArgumentException("The 'handler' " + h + " is not compatible with MLogger " + this); LoggerContext ctx = (LoggerContext) LogManager.getContext(false); Configuration config = ctx.getConfiguration(); LoggerConfig loggerConfig = config.getLoggerConfig(this.logger.getName()); loggerConfig.removeAppender(((Appender) h).getName()); ctx.updateLoggers(); }
public static void redirectLoggingToConsole() { final LoggerContext context = LoggerContext.getContext(false); final Configuration config = context.getConfiguration(); Appender appender = config.getAppender("Console"); if (appender == null) { Optional<Appender> result = config.getAppenders().values().stream().filter(a -> a instanceof ConsoleAppender).findFirst(); if (!result.isPresent()) { System.err.println( "ERROR: cannot find appender named 'Console'; unable to find alternate ConsoleAppender!"); } else { appender = result.get(); System.err.println("ERROR: cannot find appender named 'Console'; using alternate ConsoleAppender named " + appender.getName()); } } if (appender != null) { config.getRootLogger().addAppender(appender, null, null); context.updateLoggers(); } } }
void removeAppender(final String name) { final LoggerContext context = LoggerContext.getContext(false); final Configuration config = context.getConfiguration(); config.getAppenders().remove( name ).stop(); for (final LoggerConfig loggerConfig : config.getLoggers().values()) { loggerConfig.removeAppender( name ); } config.getRootLogger().removeAppender( name ); }
/** * Removes the given appender from the root logger; typically upon tear-down (@After). */ public static void stopRecordingLogs(Appender appender) { LoggerContext context = LoggerContext.getContext(false); Configuration config = context.getConfiguration(); String appenderName = appender.getName(); if (config.getAppenders().remove(appenderName) != null) { appender.stop(); config.getRootLogger().removeAppender(appenderName); context.updateLoggers(config); } } }