Class LoggingSystemTurboFilter.MDCKeyFilter

java.lang.Object
com.inductiveautomation.ignition.common.logging.LoggingSystemTurboFilter.MDCKeyFilter
Enclosing class:
LoggingSystemTurboFilter

protected static class LoggingSystemTurboFilter.MDCKeyFilter extends Object
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.

The property filters should add on to the property levels. So, if there is a property level and filter, and both hit, it should ACCEPT. If the level doesn't match but filter does, it should be NEUTRAL, so that it goes to the level filter.

  • Constructor Details

    • MDCKeyFilter

      protected MDCKeyFilter()
  • Method Details

    • isEmpty

      public boolean isEmpty()
    • setLevel

      public void setLevel(String value, ch.qos.logback.classic.Level level)
    • addFilter

      public void addFilter(String value)
    • removeFilter

      public void removeFilter(String value)
    • levelDecision

      public ch.qos.logback.core.spi.FilterReply levelDecision(String mdcValue, ch.qos.logback.classic.Level level, ch.qos.logback.core.spi.FilterReply nonAcceptReply)
      If there's a value hit, returns ACCEPT or DENY based on the level. If there isn't a level defined for the value, return NEUTRAL.
    • filterDecision

      public ch.qos.logback.core.spi.FilterReply filterDecision(String mdcValue)
      If there are no filters defined, always returns NEUTRAL. Otherwise, returns ACCEPT for a hit, and DENY if not.