org.apache.log4j.rule
Class ExpressionRule

java.lang.Object
  extended by org.apache.log4j.rule.AbstractRule
      extended by org.apache.log4j.rule.ExpressionRule
All Implemented Interfaces:
java.io.Serializable, Rule

public class ExpressionRule
extends AbstractRule

A Rule class supporting both infix and postfix expressions, accepting any rule which is supported by the RuleFactory. NOTE: parsing is supported through the use of StringTokenizer, which implies two limitations: 1: all tokens in the expression must be separated by spaces, including parenthesis 2: operands which contain spaces MUST be wrapped in single quotes. For example, the expression: msg == 'some msg' is a valid expression. 3: To group expressions, use parentheses. For example, the expression: level >= INFO || ( msg == 'some msg' || logger == 'test' ) is a valid expression. See org.apache.log4j.rule.InFixToPostFix for a description of supported operators. See org.apache.log4j.spi.LoggingEventFieldResolver for field keywords.

Author:
Scott Deboy (sdeboy@apache.org)
See Also:
Serialized Form

Method Summary
 boolean evaluate(org.apache.log4j.spi.LoggingEvent event, java.util.Map matches)
          Returns true if this implementation of the rule accepts the LoggingEvent, or false if not.
static Rule getRule(java.lang.String expression)
          Get rule.
static Rule getRule(java.lang.String expression, boolean isPostFix)
          Get rule.
 java.lang.String toString()
          
 
Methods inherited from class org.apache.log4j.rule.AbstractRule
addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getRule

public static Rule getRule(java.lang.String expression)
Get rule.

Parameters:
expression - expression.
Returns:
rule.

getRule

public static Rule getRule(java.lang.String expression,
                           boolean isPostFix)
Get rule.

Parameters:
expression - expression.
isPostFix - If post-fix.
Returns:
rule

evaluate

public boolean evaluate(org.apache.log4j.spi.LoggingEvent event,
                        java.util.Map matches)
Returns true if this implementation of the rule accepts the LoggingEvent, or false if not.

What True/False means can be client-specific.

Parameters:
event - LoggingEvent this instance will evaluate
matches - a Map of event field keys to Sets of matching strings (may be null) which will be updated during execution of this method to include field and string matches based on the rule evaluation results
Returns:
true if this Rule instance accepts the event, otherwise false.

toString

public java.lang.String toString()

Overrides:
toString in class java.lang.Object


Copyright © 2010 The Apache Software Foundation. Licensed under the Apache License, Version 2.0

Apache Extras Companion for Apache log4j, Apache log4j and Apache are trademarks of the Apache Software Foundation.