当前位置: 首页>>代码示例>>Java>>正文


Java Filter类代码示例

本文整理汇总了Java中org.apache.log4j.spi.Filter的典型用法代码示例。如果您正苦于以下问题:Java Filter类的具体用法?Java Filter怎么用?Java Filter使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


Filter类属于org.apache.log4j.spi包,在下文中一共展示了Filter类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: decide

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
@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);
}
 
开发者ID:jaffa-projects,项目名称:jaffa-framework,代码行数:19,代码来源:MDCFilterTest.java

示例2: doAppend

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
/**
 * 覆写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);
}
 
开发者ID:JThink,项目名称:SkyEye,代码行数:28,代码来源:KafkaAppender.java

示例3: init

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
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;
            }
        }
    });
}
 
开发者ID:ObjectivityLtd,项目名称:DBTestCompare,代码行数:27,代码来源:Printer.java

示例4: removeFilter

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
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;
      }
    }
  }
}
 
开发者ID:eclipse,项目名称:xtext-core,代码行数:18,代码来源:LoggingTester.java

示例5: doAppend

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
/**
  * 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);    
}
 
开发者ID:cacheonix,项目名称:cacheonix-core,代码行数:31,代码来源:AppenderSkeleton.java

示例6: decide

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
/**
   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;
  }
}
 
开发者ID:cacheonix,项目名称:cacheonix-core,代码行数:32,代码来源:LevelMatchFilter.java

示例7: decide

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
/**
    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;
     }
   }
 }
 
开发者ID:cacheonix,项目名称:cacheonix-core,代码行数:22,代码来源:StringMatchFilter.java

示例8: configureLogger

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
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
  ));
}
 
开发者ID:apache,项目名称:zeppelin,代码行数:27,代码来源:HeliumBundleFactory.java

示例9: setupBeforeClass

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
@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;
		}
	});
}
 
开发者ID:TwoGuysFromKabul,项目名称:xenqtt,代码行数:26,代码来源:LogTest.java

示例10: configureConsoleAppender

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
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 + "'");
	}
 
开发者ID:nasa,项目名称:OpenSPIFe,代码行数:19,代码来源:EnsembleLoggingConfigurator.java

示例11: doAppend

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
/**
  * 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);    
}
 
开发者ID:nologic,项目名称:nabs,代码行数:31,代码来源:AppenderSkeleton.java

示例12: initializeLogging

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
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);
    }
}
 
开发者ID:VU-libtech,项目名称:OLE-INST,代码行数:22,代码来源:JobListener.java

示例13: decide

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
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;
	}
}
 
开发者ID:ibissource,项目名称:iaf,代码行数:20,代码来源:IbisThreadFilter.java

示例14: JTextPaneAppender

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
/**
 * 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();
}
 
开发者ID:EclipseETS,项目名称:eclipse-telemetry,代码行数:29,代码来源:JTextPaneAppender.java

示例15: decide

import org.apache.log4j.spi.Filter; //导入依赖的package包/类
/**
 *
 * @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;
}
 
开发者ID:baidu,项目名称:openrasp,代码行数:14,代码来源:BurstFilter.java


注:本文中的org.apache.log4j.spi.Filter类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。