Java 类org.apache.log4j.spi.Filter 实例源码

项目:jaffa-framework    文件:MDCFilterTest.java   
@Test
public void decide() {

    assertNotNull(mdcFilter);

    mdcFilter.setExpression("MessageId!=null || LoggedBy!=null");
    mdcFilter.setKeys("LoggedBy,MessageId");

    final LoggingEvent event = new LoggingEvent("", LOG, LOG.getLevel(),
            "MessageId=123", null);

    MDC.put("LoggedBy", "abc");
    MDC.put("fff", "abc");

    final int ret = mdcFilter.decide(event);
    LOG.info("decide: " + ret);
    assertTrue(ret == Filter.NEUTRAL);
}
项目:SkyEye    文件:KafkaAppender.java   
/**
 * 覆写doAppend, 去掉closed的log日志
 * @param event
 */
@Override
public synchronized void doAppend(LoggingEvent event) {
    if (closed) {
        return;
    }

    if (!isAsSevereAsThreshold(event.getLevel())) {
        return;
    }

    Filter f = this.headFilter;

    FILTER_LOOP:
    while(f != null) {
        switch(f.decide(event)) {
            case Filter.DENY: return;
            case Filter.ACCEPT: break FILTER_LOOP;
            case Filter.NEUTRAL: f = f.getNext();
        }
    }

    this.append(event);
}
项目:DBTestCompare    文件:Printer.java   
public static void init(CmpSqlResultsConfig cmpSqlResultsConfig) {
    log.debug("Initializing logger / printer ...");
    ConsoleAppender consoleAppender = (ConsoleAppender) Logger.getRootLogger().getAppender("stdout");
    if (cmpSqlResultsConfig.getLogger() != null && cmpSqlResultsConfig.getLogger().getLogLevel() !=
            null && !cmpSqlResultsConfig.getLogger().getLogLevel().isEmpty()) {
        Logger.getRootLogger().setLevel(Level.toLevel(cmpSqlResultsConfig.getLogger().getLogLevel()));
    }
    if (cmpSqlResultsConfig.getLogger().isTeamcityLogsEnabled()) {
        consoleAppender.setLayout(new PatternLayout("%m%n"));
    }
    consoleAppender.addFilter(new Filter() {
        @Override
        public int decide(LoggingEvent loggingEvent) {
            if(loggingEvent.getMessage() instanceof String == false) return ACCEPT;
            boolean isTCMsg = ((String) loggingEvent.getMessage()).contains(TCMessages.TC);
            // before threads (and buffering messages for TC) we allowed "common" logs
            // boolean isNotTCMsg = ((String) loggingEvent.getMessage()).contains(TCMessages.NOT_TC);
            if (cmpSqlResultsConfig.getLogger().isTeamcityLogsEnabled()) {
                return isTCMsg ? ACCEPT : DENY;
                // return isNotTCMsg ? DENY : ACCEPT;
            } else {
                return isTCMsg ? DENY : ACCEPT;
            }
        }
    });
}
项目:xtext-core    文件:LoggingTester.java   
private static void removeFilter(final Appender appender, final Filter filter) {
  Filter _filter = appender.getFilter();
  boolean _equals = Objects.equal(_filter, filter);
  if (_equals) {
    appender.clearFilters();
    appender.addFilter(filter.getNext());
  } else {
    for (Filter current = appender.getFilter(); (current != null); current = current.getNext()) {
      Filter _next = current.getNext();
      boolean _equals_1 = Objects.equal(_next, filter);
      if (_equals_1) {
        current.setNext(filter.getNext());
        return;
      }
    }
  }
}
项目:cacheonix-core    文件:AppenderSkeleton.java   
/**
  * This method performs threshold checks and invokes filters before
  * delegating actual logging to the subclasses specific {@link
  * AppenderSkeleton#append} method.
  * */
public
synchronized 
void doAppend(LoggingEvent event) {
  if(closed) {
    LogLog.error("Attempted to append to closed appender named ["+name+"].");
    return;
  }

  if(!isAsSevereAsThreshold(event.getLevel())) {
    return;
  }

  Filter f = this.headFilter;

  FILTER_LOOP:
  while(f != null) {
    switch(f.decide(event)) {
    case Filter.DENY: return;
    case Filter.ACCEPT: break FILTER_LOOP;
    case Filter.NEUTRAL: f = f.getNext();
    }
  }

  this.append(event);    
}
项目:cacheonix-core    文件:LevelMatchFilter.java   
/**
   Return the decision of this filter.

   Returns {@link Filter#NEUTRAL} if the <b>LevelToMatch</b> option
   is not set or if there is not match.  Otherwise, if there is a
   match, then the returned decision is {@link Filter#ACCEPT} if the
   <b>AcceptOnMatch</b> property is set to <code>true</code>. The
   returned decision is {@link Filter#DENY} if the
   <b>AcceptOnMatch</b> property is set to false.

*/
public
int decide(LoggingEvent event) {
  if(this.levelToMatch == null) {
    return Filter.NEUTRAL;
  }

  boolean matchOccured = false;
  if(this.levelToMatch.equals(event.getLevel())) {
    matchOccured = true;
  } 

  if(matchOccured) {  
    if(this.acceptOnMatch)
 return Filter.ACCEPT;
    else
 return Filter.DENY;
  } else {
    return Filter.NEUTRAL;
  }
}
项目:cacheonix-core    文件:StringMatchFilter.java   
/**
    Returns {@link Filter#NEUTRAL} is there is no string match.
  */
 public
 int decide(LoggingEvent event) {
   String msg = event.getRenderedMessage();

   if(msg == null ||  stringToMatch == null)
     return Filter.NEUTRAL;


   if( msg.indexOf(stringToMatch) == -1 ) {
     return Filter.NEUTRAL;
   } else { // we've got a match
     if(acceptOnMatch) {
return Filter.ACCEPT;
     } else {
return Filter.DENY;
     }
   }
 }
项目:zeppelin    文件:HeliumBundleFactory.java   
private synchronized void configureLogger() {
  org.apache.log4j.Logger npmLogger = org.apache.log4j.Logger.getLogger(
      "com.github.eirslett.maven.plugins.frontend.lib.DefaultYarnRunner");
  Enumeration appenders = org.apache.log4j.Logger.getRootLogger().getAllAppenders();

  if (appenders != null) {
    while (appenders.hasMoreElements()) {
      Appender appender = (Appender) appenders.nextElement();
      appender.addFilter(new Filter() {

        @Override
        public int decide(LoggingEvent loggingEvent) {
          if (loggingEvent.getLoggerName().contains("DefaultYarnRunner")) {
            return DENY;
          } else {
            return NEUTRAL;
          }
        }
      });
    }
  }
  npmLogger.addAppender(new WriterAppender(
      new PatternLayout("%m%n"),
      out
  ));
}
项目:daq-eclipse    文件:AppenderSkeleton.java   
/**
  * This method performs threshold checks and invokes filters before
  * delegating actual logging to the subclasses specific {@link
  * AppenderSkeleton#append} method.
  * */
public
synchronized 
void doAppend(LoggingEvent event) {
  if(closed) {
    LogLog.error("Attempted to append to closed appender named ["+name+"].");
    return;
  }

  if(!isAsSevereAsThreshold(event.getLevel())) {
    return;
  }

  Filter f = this.headFilter;

  FILTER_LOOP:
  while(f != null) {
    switch(f.decide(event)) {
    case Filter.DENY: return;
    case Filter.ACCEPT: break FILTER_LOOP;
    case Filter.NEUTRAL: f = f.getNext();
    }
  }

  this.append(event);    
}
项目:daq-eclipse    文件:LevelMatchFilter.java   
/**
   Return the decision of this filter.

   Returns {@link Filter#NEUTRAL} if the <b>LevelToMatch</b> option
   is not set or if there is not match.  Otherwise, if there is a
   match, then the returned decision is {@link Filter#ACCEPT} if the
   <b>AcceptOnMatch</b> property is set to <code>true</code>. The
   returned decision is {@link Filter#DENY} if the
   <b>AcceptOnMatch</b> property is set to false.

*/
public
int decide(LoggingEvent event) {
  if(this.levelToMatch == null) {
    return Filter.NEUTRAL;
  }

  boolean matchOccured = false;
  if(this.levelToMatch.equals(event.getLevel())) {
    matchOccured = true;
  } 

  if(matchOccured) {  
    if(this.acceptOnMatch)
 return Filter.ACCEPT;
    else
 return Filter.DENY;
  } else {
    return Filter.NEUTRAL;
  }
}
项目:daq-eclipse    文件:StringMatchFilter.java   
/**
    Returns {@link Filter#NEUTRAL} is there is no string match.
  */
 public
 int decide(LoggingEvent event) {
   String msg = event.getRenderedMessage();

   if(msg == null ||  stringToMatch == null)
     return Filter.NEUTRAL;


   if( msg.indexOf(stringToMatch) == -1 ) {
     return Filter.NEUTRAL;
   } else { // we've got a match
     if(acceptOnMatch) {
return Filter.ACCEPT;
     } else {
return Filter.DENY;
     }
   }
 }
项目:xenqtt    文件:LogTest.java   
@BeforeClass
public static void setupBeforeClass() throws Exception {
    Logger xenqtt = Logger.getLogger("xenqtt");
    assertNotNull(xenqtt);

    Appender console = Logger.getRootLogger().getAppender("console");
    assertNotNull(console);

    console.addFilter(new Filter() {
        @Override
        public int decide(LoggingEvent event) {
            entries.add(event.getRenderedMessage());

            ThrowableInformation info = event.getThrowableInformation();
            if (info != null) {
                Throwable t = info.getThrowable();
                if (t != null) {
                    entries.add(t.getMessage());
                }
            }

            return Filter.ACCEPT;
        }
    });
}
项目:OpenSPIFe    文件:EnsembleLoggingConfigurator.java   
private void configureConsoleAppender(Properties properties, String consoleAppenderName) {
        Appender consoleAppender = Logger.getRootLogger().getAppender(consoleAppenderName);
        if (consoleAppender == null)
            return;

        final Level level = Level.toLevel(properties.getProperty(consoleAppenderName + ".level"), Level.ERROR);

        consoleAppender.addFilter(new Filter() {
            @Override
            public int decide(LoggingEvent evt) {
//              if (evt.getLevel().isGreaterOrEqual(level))
                    return ACCEPT;
//              return DENY;
            }
        });

        trace.info("Setting console appender logging level to '" + level + "'");
    }
项目:nabs    文件:AppenderSkeleton.java   
/**
  * This method performs threshold checks and invokes filters before
  * delegating actual logging to the subclasses specific {@link
  * AppenderSkeleton#append} method.
  * */
public
synchronized 
void doAppend(LoggingEvent event) {
  if(closed) {
    LogLog.error("Attempted to append to closed appender named ["+name+"].");
    return;
  }

  if(!isAsSevereAsThreshold(event.getLevel())) {
    return;
  }

  Filter f = this.headFilter;

  FILTER_LOOP:
  while(f != null) {
    switch(f.decide(event)) {
    case Filter.DENY: return;
    case Filter.ACCEPT: break FILTER_LOOP;
    case Filter.NEUTRAL: f = f.next;
    }
  }

  this.append(event);    
}
项目:nabs    文件:LevelMatchFilter.java   
/**
   Return the decision of this filter.

   Returns {@link Filter#NEUTRAL} if the <b>LevelToMatch</b> option
   is not set or if there is not match.  Otherwise, if there is a
   match, then the returned decision is {@link Filter#ACCEPT} if the
   <b>AcceptOnMatch</b> property is set to <code>true</code>. The
   returned decision is {@link Filter#DENY} if the
   <b>AcceptOnMatch</b> property is set to false.

*/
public
int decide(LoggingEvent event) {
  if(this.levelToMatch == null) {
    return Filter.NEUTRAL;
  }

  boolean matchOccured = false;
  if(this.levelToMatch.equals(event.getLevel())) {
    matchOccured = true;
  } 

  if(matchOccured) {  
    if(this.acceptOnMatch)
 return Filter.ACCEPT;
    else
 return Filter.DENY;
  } else {
    return Filter.NEUTRAL;
  }
}
项目:nabs    文件:StringMatchFilter.java   
/**
    Returns {@link Filter#NEUTRAL} is there is no string match.
  */
 public
 int decide(LoggingEvent event) {
   String msg = event.getRenderedMessage();

   if(msg == null ||  stringToMatch == null)
     return Filter.NEUTRAL;


   if( msg.indexOf(stringToMatch) == -1 ) {
     return Filter.NEUTRAL;
   } else { // we've got a match
     if(acceptOnMatch) {
return Filter.ACCEPT;
     } else {
return Filter.DENY;
     }
   }
 }
项目:OLE-INST    文件:JobListener.java   
protected void initializeLogging(JobExecutionContext jobExecutionContext) {
    String jobName = jobExecutionContext.getJobDetail().getName();
    try {
        String nestedDiagnosticContext = getNestedDiagnosticContext(jobName);
        String logFilename = getLogFileName(nestedDiagnosticContext);
        System.out.println("Log filename=" + logFilename);
        Job job = (Job) jobExecutionContext.getJobInstance();
        Logger rootLogger = Logger.getRootLogger();
        Appender appender = rootLogger.getAppender("LogFile");
        Layout layout = getLayout(appender);
        Appender newAppender = new FileAppender(layout, logFilename);
        Filter newFilter = new NDCFilter(nestedDiagnosticContext);
        newAppender.addFilter(newFilter);
        job.setNdcAppender(newAppender);
        rootLogger.addAppender(newAppender);
        NDC.push(nestedDiagnosticContext);
    }
    catch (IOException e) {
        LOG.warn("Could not initialize special custom logging for job: " + jobName, e);
    }
}
项目:iaf    文件:IbisThreadFilter.java   
public int decide(LoggingEvent event) {
    if (levelMin == null || event.getLevel().isGreaterOrEqual(levelMin))
        return Filter.NEUTRAL;

    String tn = event.getThreadName();

    if (tn == null || regex == null)
        return Filter.NEUTRAL;

    if (tn.matches(regex)) {
        if (getAcceptOnMatch()) {
            return Filter.ACCEPT;
        } else {
            return Filter.DENY;
        }
    } else {
        return Filter.NEUTRAL;
    }
}
项目:eclipse-telemetry    文件:JTextPaneAppender.java   
/**
 * Constructor
 * 
 * @param aLayout
 * @param aName
 * @param aFilterArray
 * @param aTextPane
 * @param maxLines
 */
public JTextPaneAppender(Layout aLayout, String aName,
        Filter[] aFilterArray, JTextPane aTextPane, int maxLines) {
    this();
    this.layout = aLayout;
    this.name = aName;
    this.maxLines = maxLines;
    myTextPane = aTextPane;

    if (aFilterArray != null) {
        for (int i = 0; i < aFilterArray.length; i++) {
            if (aFilterArray[i] != null) {
                addFilter(aFilterArray[i]);
            } // if aFilterArray[i] != null]
        } // for i

    } // if aFilterArray != null

    createAttributes();
}
项目:openrasp    文件:BurstFilter.java   
/**
 *
 * @param event 需进行裁决的loggingEvent
 * @return 裁决结果
 */
public int decide(LoggingEvent event) {
    if (tokenBucket == null) {
        tokenBucket = new TokenBucket(refillAmount, refillInterval,
                maxBurst);
    }

    return tokenBucket.consume() ? Filter.DENY : Filter.NEUTRAL;
}
项目:reactor    文件:AbstractCaseRunner.java   
Path addLog4jFileAppender(final Path path) throws IOException {
    org.apache.log4j.Logger rootLogger = org.apache.log4j.Logger.getRootLogger();

    String pattern = "%d{HH:mm:ss.SSS} %-5p %t %C{1}.%M:%L - %m%n";
    final String threadName = Thread.currentThread().getName();

    class ThreadFilter extends Filter {
        @Override
        public int decide(LoggingEvent event) {
            if (event.getThreadName().startsWith(threadName)) {
                return Filter.ACCEPT;
            }
            return Filter.DENY;
        }
    }

    FileAppender fa = new FileAppender(new PatternLayout(pattern), path.toFile().getAbsolutePath());
    fa.addFilter(new ThreadFilter());
    fa.setThreshold(sysConfig.getCaseLogLevel());
    fa.setImmediateFlush(true);
    fa.setAppend(true);
    fa.setName(path.toFile().getAbsolutePath());

    fa.activateOptions();
    rootLogger.addAppender(fa);

    return path;
}
项目:xtext-core    文件:LoggingTester.java   
@Override
public int decide(final LoggingEvent event) {
  int _xifexpression = (int) 0;
  String _loggerName = event.getLoggerName();
  String _name = this.source.getName();
  boolean _equals = Objects.equal(_loggerName, _name);
  if (_equals) {
    _xifexpression = Filter.DENY;
  } else {
    _xifexpression = Filter.NEUTRAL;
  }
  return _xifexpression;
}
项目:cacheonix-core    文件:AppenderSkeleton.java   
/**
   Add a filter to end of the filter list.

   @since 0.9.0
 */
public
void addFilter(Filter newFilter) {
  if(headFilter == null) {
    headFilter = tailFilter = newFilter;
  } else {
    tailFilter.setNext(newFilter);
    tailFilter = newFilter;    
  }
}
项目:cacheonix-core    文件:LevelRangeFilter.java   
/**
   Return the decision of this filter.
 */
public
int decide(LoggingEvent event) {
  if(this.levelMin != null) {
    if (event.getLevel().isGreaterOrEqual(levelMin) == false) {
      // level of event is less than minimum
      return Filter.DENY;
    }
  }

  if(this.levelMax != null) {
    if (event.getLevel().toInt() > levelMax.toInt()) {
      // level of event is greater than maximum
      // Alas, there is no Level.isGreater method. and using
      // a combo of isGreaterOrEqual && !Equal seems worse than
      // checking the int values of the level objects..
      return Filter.DENY;
    }
  }

  if (acceptOnMatch) {
    // this filter set up to bypass later filters and always return
    // accept if level in range
    return Filter.ACCEPT;
  }
  else {
    // event is ok for this filter; allow later filters to have a look..
    return Filter.NEUTRAL;
  }
}
项目:cacheonix-core    文件:DOMConfigurator.java   
/**
    Used internally to parse a filter element.
  */
 protected
 void parseFilters(Element element, Appender appender) {
   String clazz = subst(element.getAttribute(CLASS_ATTR));
   Filter filter = (Filter) OptionConverter.instantiateByClassName(clazz,
                                               Filter.class, null);

   if(filter != null) {
     PropertySetter propSetter = new PropertySetter(filter);
     NodeList children = element.getChildNodes();
     final int length   = children.getLength();

     for (int loop = 0; loop < length; loop++) {
Node currentNode = children.item(loop);
if (currentNode.getNodeType() == Node.ELEMENT_NODE) {
  Element currentElement = (Element) currentNode;
  String tagName = currentElement.getTagName();
  if(tagName.equals(PARAM_TAG)) {
           setParameter(currentElement, propSetter);
  } else {
           quietParseUnrecognizedElement(filter, currentElement, props);
     }
}
     }
     propSetter.activate();
     LogLog.debug("Adding filter of type ["+filter.getClass()
       +"] to appender named ["+appender.getName()+"].");
     appender.addFilter(filter);
   }    
 }
项目:log4j-s3-search    文件:Log4jAppender.java   
void initFilters() {
    addFilter(new Filter() {
        @Override
        public int decide(LoggingEvent event) {
            // To prevent infinite looping, we filter out events from
            // the publishing thread
            int decision = Filter.NEUTRAL;
            if (LoggingEventCache.PUBLISH_THREAD_NAME.equals(event.getThreadName())) {
                decision = Filter.DENY;
            }
            return decision;
        }});
}
项目:daq-eclipse    文件:AppenderSkeleton.java   
/**
   Add a filter to end of the filter list.

   @since 0.9.0
 */
public
void addFilter(Filter newFilter) {
  if(headFilter == null) {
    headFilter = tailFilter = newFilter;
  } else {
    tailFilter.setNext(newFilter);
    tailFilter = newFilter;    
  }
}
项目:daq-eclipse    文件:LevelRangeFilter.java   
/**
   Return the decision of this filter.
 */
public
int decide(LoggingEvent event) {
  if(this.levelMin != null) {
    if (event.getLevel().isGreaterOrEqual(levelMin) == false) {
      // level of event is less than minimum
      return Filter.DENY;
    }
  }

  if(this.levelMax != null) {
    if (event.getLevel().toInt() > levelMax.toInt()) {
      // level of event is greater than maximum
      // Alas, there is no Level.isGreater method. and using
      // a combo of isGreaterOrEqual && !Equal seems worse than
      // checking the int values of the level objects..
      return Filter.DENY;
    }
  }

  if (acceptOnMatch) {
    // this filter set up to bypass later filters and always return
    // accept if level in range
    return Filter.ACCEPT;
  }
  else {
    // event is ok for this filter; allow later filters to have a look..
    return Filter.NEUTRAL;
  }
}
项目:daq-eclipse    文件:DOMConfigurator.java   
/**
    Used internally to parse a filter element.
  */
 protected
 void parseFilters(Element element, Appender appender) {
   String clazz = subst(element.getAttribute(CLASS_ATTR));
   Filter filter = (Filter) OptionConverter.instantiateByClassName(clazz,
                                               Filter.class, null);

   if(filter != null) {
     PropertySetter propSetter = new PropertySetter(filter);
     NodeList children = element.getChildNodes();
     final int length   = children.getLength();

     for (int loop = 0; loop < length; loop++) {
Node currentNode = children.item(loop);
if (currentNode.getNodeType() == Node.ELEMENT_NODE) {
  Element currentElement = (Element) currentNode;
  String tagName = currentElement.getTagName();
  if(tagName.equals(PARAM_TAG)) {
           setParameter(currentElement, propSetter);
  } else {
           quietParseUnrecognizedElement(filter, currentElement, props);
     }
}
     }
     propSetter.activate();
     LogLog.debug("Adding filter of type ["+filter.getClass()
       +"] to appender named ["+appender.getName()+"].");
     appender.addFilter(filter);
   }    
 }
项目:nabs    文件:AppenderSkeleton.java   
/**
   Add a filter to end of the filter list.

   @since 0.9.0
 */
public
void addFilter(Filter newFilter) {
  if(headFilter == null) {
    headFilter = tailFilter = newFilter;
  } else {
    tailFilter.next = newFilter;
    tailFilter = newFilter;    
  }
}
项目:nabs    文件:LevelRangeFilter.java   
/**
   Return the decision of this filter.
 */
public
int decide(LoggingEvent event) {
  if(this.levelMin != null) {
    if (event.getLevel().isGreaterOrEqual(levelMin) == false) {
      // level of event is less than minimum
      return Filter.DENY;
    }
  }

  if(this.levelMax != null) {
    if (event.getLevel().toInt() > levelMax.toInt()) {
      // level of event is greater than maximum
      // Alas, there is no Level.isGreater method. and using
      // a combo of isGreaterOrEqual && !Equal seems worse than
      // checking the int values of the level objects..
      return Filter.DENY;
    }
  }

  if (acceptOnMatch) {
    // this filter set up to bypass later filters and always return
    // accept if level in range
    return Filter.ACCEPT;
  }
  else {
    // event is ok for this filter; allow later filters to have a look..
    return Filter.NEUTRAL;
  }
}
项目:JECommons    文件:DriverLoggerFactory.java   
@Override
        public int decide(LoggingEvent le) {
            String mdc = (String) le.getMDC(KEY);
//        System.out.println("MDC: " + mdc);
//        System.out.println("key: " + _value);
            if (mdc.equals(_value)) {
                return Filter.ACCEPT;
            } else {
                return Filter.DENY;
            }
//        return Filter.ACCEPT;
        }
项目:eterna    文件:Log4jAppender.java   
public void addFilter(Filter filter)
{
    if (this.filter != null)
    {
        this.filter = filter;
    }
}
项目:LogManager    文件:TestLog4j.java   
public int decide(LoggingEvent event) {
    this.msg = (String) event.getMessage();
    if (event.getThrowableInformation() != null && event.getThrowableInformation().getThrowable() != null) {
        this.thrownMsg = event.getThrowableInformation().getThrowable().getMessage();
    }
    return Filter.NEUTRAL;
}
项目:logging    文件:EmptyMessageFilter.java   
@Override
public int decide(LoggingEvent event) {
    if(event.getMessage() instanceof String){
        if(StringUtils.isEmpty((String)event.getMessage())){
            return Filter.DENY;
        }
    }
    return Filter.NEUTRAL;
}
项目:JServer    文件:RemoteRmiClientProxy.java   
public void addAppenderFilter(String loggerName, Filter filter) throws RemoteException
{
   synchronized(this.appenders)
   {
      RmiAppender rmiAppender = (RmiAppender)this.appenders.get(loggerName);

      if( rmiAppender != null )
      {
         rmiAppender.addFilter(filter);
      }
   }
}
项目:JServer    文件:RmiClient.java   
/**
 * 
 * @param loggerName
 * @param filter
 * @throws RemoteException
 */
public void addAppenderFilter(String loggerName, Filter filter) throws RemoteException
{
   if( this.currentProtocolVersion > 1 )
   {
      this.jServerRmiInterface.addAppenderFilter(loggerName, filter);
   }
}
项目:MFIBlocking    文件:TestAppender.java   
public List<LoggingEvent> getLogsByLevel(Filter filter) {
    TestAppender testAppender = new TestAppender();
    testAppender.addFilter(filter);
    for (LoggingEvent event : log) {
        testAppender.doAppend(event);
    }
    return testAppender.getLog();
}
项目:jcabi-log    文件:VerboseProcessTest.java   
@Override
public int decide(final LoggingEvent event) {
    final String thread = event.getThreadName();
    final int decision;
    if (thread.startsWith(VrbPrcMonitorFilter.THREADNAME_START
        + this.hash
    )) {
        decision = Filter.ACCEPT;
    } else {
        decision = Filter.DENY;
    }
    return decision;
}
项目:pentaho-kettle    文件:Log4jAppenderTest.java   
@Test
public void addFilter() {
  Appender appender = getAppender();
  Filter filter = mock( Filter.class );
  appender.addFilter( filter );
  assertThat( appender.getFilter(), is( filter ) );
}