本文整理汇总了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);
}
示例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);
}
示例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;
}
}
});
}
示例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;
}
}
}
}
示例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);
}
示例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;
}
}
示例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;
}
}
}
示例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
));
}
示例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;
}
});
}
示例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 + "'");
}
示例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);
}
示例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);
}
}
示例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;
}
}
示例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();
}
示例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;
}