/** * Allow only selected logger to print DEBUG events to STDOUT and FILE. * Other loggers are allowed to print ERRORS only. */ private static void addSampleLogger(final String loggerName) { if (CUSTOM_FILTER == null) { CUSTOM_FILTER = new CustomFilter(); final LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory(); Appender ca = loggerContext.getLogger("ROOT").getAppender("STDOUT"); ca.clearAllFilters(); ca.addFilter(CUSTOM_FILTER); } CUSTOM_FILTER.addVisibleLogger(loggerName); }
if (stdout != null) stdout.addFilter(new Filter<ILoggingEvent>()
@Override public void addFilter(Filter<E> newFilter) { delegate.addFilter(newFilter); }
@Override public void addFilter(Filter<E> newFilter) { delegate.addFilter(newFilter); }
private void doAttach(Appender<ILoggingEvent> appender) { if (appender != null) { appender.addFilter(filter); LoggerFactory.getLogger(AttachLogFilter.class).info("Attached log filter {} to {} '{}'", filter, appender, appenderName); } else { throw new IllegalStateException("Could not attach log filter to appender " + appenderName); } }
@PostConstruct public void updateMarkersFilter() { LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); for (Logger logger : context.getLoggerList()) { Iterator<Appender<ILoggingEvent>> appenderIterator = logger.iteratorForAppenders(); appenderIterator.forEachRemaining(x -> x.addFilter(this)); } }
@PostConstruct public void updateMarkersFilter() { LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); for (Logger logger : context.getLoggerList()) { Iterator<Appender<ILoggingEvent>> appenderIterator = logger.iteratorForAppenders(); appenderIterator.forEachRemaining(x -> x.addFilter(this)); } }
@Override public void initialize() throws InitializationException { // Register appender ch.qos.logback.classic.Logger rootLogger = getRootLogger(); if (rootLogger != null) { Iterator<Appender<ILoggingEvent>> iterator = rootLogger.iteratorForAppenders(); while (iterator.hasNext()) { Appender<ILoggingEvent> appender = iterator.next(); if (!(appender instanceof LogbackEventGenerator)) { appender.addFilter(this.forbiddenThreads); } } } else { this.logger.warn("Could not find any Logback root logger." + " All logging module advanced features will be disabled."); } }
consoleAppender.addFilter(filter);
public void finished() { if (thFilter==null) { // then we did not add it return; } List<Filter<ILoggingEvent>> filterList = appender.getCopyOfAttachedFiltersList(); appender.clearAllFilters(); for (Iterator<Filter<ILoggingEvent>> it = filterList.iterator(); it.hasNext();) { Filter<ILoggingEvent> filter = it.next(); if (filter!=thFilter) { appender.addFilter(filter); } } } }
public void starting() { thFilter = new ThresholdFilter(); thFilter.setLevel(level); thFilter.start(); appender.addFilter(thFilter); }
@Override public void start() { LoggerContext context = (LoggerContext) getContext(); for (Logger logger: context.getLoggerList()) { RootFilterThresholds.setRoot(LoggerName.getInstance(logger.getName()), !logger.isAdditive()); } for (Appender<ILoggingEvent> appender: getAppenders(context)) { String appenderName = appender.getName(); RootFilterThresholds.addAppender(appenderName); for (Threshold threshold: _thresholds) { if (threshold.isApplicableToAppender(appender)) { RootFilterThresholds.setThreshold( threshold.getLogger(), appenderName, threshold.getLevel()); } } CellThresholdFilterCompanion filter = new CellThresholdFilterCompanion(appenderName); filter.start(); appender.addFilter(filter); } super.start(); }
filter.setContext(loggerContext); filter.start(); appender.addFilter(filter);
filter.setContext(loggerContext); filter.start(); appender.addFilter(filter);