本文整理汇总了Java中ch.qos.logback.core.Appender.addFilter方法的典型用法代码示例。如果您正苦于以下问题:Java Appender.addFilter方法的具体用法?Java Appender.addFilter怎么用?Java Appender.addFilter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ch.qos.logback.core.Appender
的用法示例。
在下文中一共展示了Appender.addFilter方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setMetricsMarkerLogbackFilter
import ch.qos.logback.core.Appender; //导入方法依赖的package包/类
private void setMetricsMarkerLogbackFilter(LoggerContext context) {
log.info("Filtering metrics logs from all appenders except the {} appender", LOGSTASH_APPENDER_NAME);
OnMarkerEvaluator onMarkerMetricsEvaluator = new OnMarkerEvaluator();
onMarkerMetricsEvaluator.setContext(context);
onMarkerMetricsEvaluator.addMarker("metrics");
onMarkerMetricsEvaluator.start();
EvaluatorFilter<ILoggingEvent> metricsFilter = new EvaluatorFilter<>();
metricsFilter.setContext(context);
metricsFilter.setEvaluator(onMarkerMetricsEvaluator);
metricsFilter.setOnMatch(FilterReply.DENY);
metricsFilter.start();
for (ch.qos.logback.classic.Logger logger : context.getLoggerList()) {
for (Iterator<Appender<ILoggingEvent>> it = logger.iteratorForAppenders(); it.hasNext();) {
Appender<ILoggingEvent> appender = it.next();
if (!appender.getName().equals(ASYNC_LOGSTASH_APPENDER_NAME)) {
log.debug("Filter metrics logs from the {} appender", appender.getName());
appender.setContext(context);
appender.addFilter(metricsFilter);
appender.start();
}
}
}
}
示例2: setMetricsMarkerLogbackFilter
import ch.qos.logback.core.Appender; //导入方法依赖的package包/类
private void setMetricsMarkerLogbackFilter(LoggerContext context) {
log.info("Filtering metrics logs from all appenders except the {} appender", LOGSTASH_APPENDER_NAME);
OnMarkerEvaluator onMarkerMetricsEvaluator = new OnMarkerEvaluator();
onMarkerMetricsEvaluator.setContext(context);
onMarkerMetricsEvaluator.addMarker("metrics");
onMarkerMetricsEvaluator.start();
EvaluatorFilter<ILoggingEvent> metricsFilter = new EvaluatorFilter<>();
metricsFilter.setContext(context);
metricsFilter.setEvaluator(onMarkerMetricsEvaluator);
metricsFilter.setOnMatch(FilterReply.DENY);
metricsFilter.start();
for (ch.qos.logback.classic.Logger logger : context.getLoggerList()) {
for (Iterator<Appender<ILoggingEvent>> it = logger.iteratorForAppenders(); it.hasNext(); ) {
Appender<ILoggingEvent> appender = it.next();
if (!appender.getName().equals(ASYNC_LOGSTASH_APPENDER_NAME)) {
log.debug("Filter metrics logs from the {} appender", appender.getName());
appender.setContext(context);
appender.addFilter(metricsFilter);
appender.start();
}
}
}
}
示例3: build
import ch.qos.logback.core.Appender; //导入方法依赖的package包/类
@Override
public Appender<E> build(final LoggerContext context,
final String applicationName,
final LayoutFactory<E> layoutFactory,
final LevelFilterFactory<E> levelFilterFactory,
final AsyncAppenderFactory<E> asyncAppenderFactory) {
final Appender<E> appender = new FifoLogbackAppender<>();
appender.setContext(context);
appender.addFilter(levelFilterFactory.build(threshold));
getFilterFactories().forEach(f -> appender.addFilter(f.build()));
appender.start();
appender.setName(APPENDER_NAME);
return appender;
}
示例4: addSampleLogger
import ch.qos.logback.core.Appender; //导入方法依赖的package包/类
/**
* 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);
}
示例5: build
import ch.qos.logback.core.Appender; //导入方法依赖的package包/类
@Override
public Appender<E> build(final LoggerContext context,
final String applicationName,
final LayoutFactory<E> layoutFactory,
final LevelFilterFactory<E> levelFilterFactory,
final AsyncAppenderFactory<E> asyncAppenderFactory) {
final Properties producerConfigProperties = producerConfig.stream()
.map(s -> s.split("="))
.filter(values -> values.length == 2)
.reduce(new Properties(), (props, values) -> {
props.setProperty(values[0], values[1]);
return props;
}, (p1, p2) -> {
Properties merged = new Properties();
merged.putAll(p1);
merged.putAll(p2);
return merged;
});
final Appender<E> appender = new KafkaLogbackAppender<>(producerConfigProperties, topic);
appender.setContext(context);
appender.addFilter(levelFilterFactory.build(threshold));
getFilterFactories().forEach(f -> appender.addFilter(f.build()));
appender.start();
appender.setName(APPENDER_NAME);
return appender;
//return wrapAsync(appender, asyncAppenderFactory);
}
示例6: setConsoleLogLevel
import ch.qos.logback.core.Appender; //导入方法依赖的package包/类
private static void setConsoleLogLevel() {
String loglevelAsString = System.getProperty("tmm.consoleloglevel", "");
Level level;
switch (loglevelAsString) {
case "ERROR":
level = Level.TRACE;
break;
case "WARN":
level = Level.WARN;
break;
case "INFO":
level = Level.INFO;
break;
case "DEBUG":
level = Level.DEBUG;
break;
case "TRACE":
level = Level.TRACE;
break;
default:
return;
}
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
// get the console appener
Appender consoleAppender = lc.getLogger("ROOT").getAppender("CONSOLE");
if (consoleAppender instanceof ConsoleAppender) {
// and set a filter to drop messages beneath the given level
ThresholdLoggerFilter filter = new ThresholdLoggerFilter(level);
filter.start();
consoleAppender.addFilter(filter);
}
}