public class LoggingSystemTurboFilter
extends ch.qos.logback.classic.turbo.TurboFilter
Our implementation here is focused on the functionality we add around MDC values. It has the ability to filter based on mdc values, or to emulate logger levels, but for MDC key/values instead of logger names.
Modifier and Type | Class and Description |
---|---|
protected static class |
LoggingSystemTurboFilter.MDCKeyFilter
We can do 2 things: 1) set levels for specific property values (which
bypass/ignore logger levels) 2) set property filters, so that events only
pass when the property matches.
|
Constructor and Description |
---|
LoggingSystemTurboFilter() |
Modifier and Type | Method and Description |
---|---|
void |
addFilter(java.lang.String key,
java.lang.String value) |
void |
clear() |
void |
clearLevels() |
ch.qos.logback.core.spi.FilterReply |
decide(java.util.Map<java.lang.String,java.lang.String> mdcMap,
ch.qos.logback.classic.Level level,
boolean strict)
This gets called 2 times- one as an actual turbofilter, in which case
strict=false, and we only care about promoting events.
|
ch.qos.logback.core.spi.FilterReply |
decide(org.slf4j.Marker marker,
ch.qos.logback.classic.Logger logger,
ch.qos.logback.classic.Level level,
java.lang.String format,
java.lang.Object[] params,
java.lang.Throwable t) |
protected LoggingSystemTurboFilter.MDCKeyFilter |
getOrCreate(java.lang.String key) |
java.util.Map<java.lang.String,java.util.Map<java.lang.String,Level>> |
keyFilterValues()
Returns the full set of key filters currently applied, in a map with Key Name -> Value Name -> Level hierarchy
|
void |
removeFilter(java.lang.String key,
java.lang.String value) |
void |
setLevel(java.lang.String key,
java.lang.String value,
ch.qos.logback.classic.Level level) |
boolean |
wasAcceptedBy(ch.qos.logback.classic.spi.ILoggingEvent event) |
getName, isStarted, setName, start, stop
public java.util.Map<java.lang.String,java.util.Map<java.lang.String,Level>> keyFilterValues()
Level
of the valuepublic void clear()
protected LoggingSystemTurboFilter.MDCKeyFilter getOrCreate(java.lang.String key)
public void setLevel(java.lang.String key, java.lang.String value, ch.qos.logback.classic.Level level)
public void clearLevels()
public void addFilter(java.lang.String key, java.lang.String value)
public void removeFilter(java.lang.String key, java.lang.String value)
public ch.qos.logback.core.spi.FilterReply decide(org.slf4j.Marker marker, ch.qos.logback.classic.Logger logger, ch.qos.logback.classic.Level level, java.lang.String format, java.lang.Object[] params, java.lang.Throwable t)
decide
in class ch.qos.logback.classic.turbo.TurboFilter
public boolean wasAcceptedBy(ch.qos.logback.classic.spi.ILoggingEvent event)
public ch.qos.logback.core.spi.FilterReply decide(java.util.Map<java.lang.String,java.lang.String> mdcMap, ch.qos.logback.classic.Level level, boolean strict)
mdcMap
- level
- strict
-