|
Apache Log4cxx
Version 1.7.0
|
A filter supporting complex expressions - supports both infix and postfix expressions (infix expressions must first be converted to postfix prior to processing). More...
#include <expressionfilter.h>
Public Member Functions | |
| ExpressionFilter () | |
| void | activateOptions (helpers::Pool &) override |
| void | setExpression (const LogString &expression) |
| LogString | getExpression () const |
| void | setConvertInFixToPostFix (bool convertInFixToPostFix) |
| bool | getConvertInFixToPostFix () const |
| void | setAcceptOnMatch (bool acceptOnMatch) |
| bool | getAcceptOnMatch () const |
| FilterDecision | decide (const spi::LoggingEventPtr &event) const override |
Returns log4cxx::spi::Filter#NEUTRAL is there is no string match. | |
| Public Member Functions inherited from log4cxx::spi::Filter | |
| Filter () | |
| Filter (std::unique_ptr< FilterPrivate > priv) | |
| virtual | ~Filter () |
| log4cxx::spi::FilterPtr | getNext () const |
| void | setNext (const log4cxx::spi::FilterPtr &newNext) |
| void | activateOptions (helpers::Pool &) override |
| void | setOption (const LogString &option, const LogString &value) override |
Set option to value. | |
| void | activateOptions () |
| Public Member Functions inherited from log4cxx::spi::OptionHandler | |
| virtual | ~OptionHandler () |
| void | activateOptions () |
| Public Member Functions inherited from log4cxx::helpers::Object | |
| virtual | ~Object () |
| virtual const helpers::Class & | getClass () const =0 |
| virtual bool | instanceof (const Class &clazz) const =0 |
| virtual const void * | cast (const Class &clazz) const =0 |
Additional Inherited Members | |
| Public Types inherited from log4cxx::spi::Filter | |
| enum | FilterDecision { DENY = -1 , NEUTRAL = 0 , ACCEPT = 1 } |
A filter supporting complex expressions - supports both infix and postfix expressions (infix expressions must first be converted to postfix prior to processing).
See org.apache.log4j.chainsaw.LoggingEventFieldResolver.java for the correct names for logging event fields used when building expressions.
See org.apache.log4j.chainsaw.rule package for a list of available rules which can be applied using the expression syntax.
See org.apache.log4j.chainsaw.RuleFactory for the symbols used to activate the corresponding rules.
NOTE: Grouping using parentheses is supported - all tokens must be separated by spaces, and operands which contain spaces are not yet supported.
Example:
In order to build a filter that displays all messages with infomsg-45 or infomsg-44 in the message, as well as all messages with a level of WARN or higher, build an expression using the LikeRule (supports ORO-based regular expressions) and the InequalityRule. ( MSG LIKE infomsg-4[4,5] ) && ( LEVEL >= WARN )
Three options are required: Expression - the expression to match ConvertInFixToPostFix - convert from infix to posfix (default true) AcceptOnMatch - true or false (default true)
Meaning of AcceptToMatch: If there is a match between the value of the Expression option and the log4cxx::spi::LoggingEvent and AcceptOnMatch is true, the decide method returns log4cxx::spi::Filter#ACCEPT.
If there is a match between the value of the Expression option and the log4cxx::spi::LoggingEvent and AcceptOnMatch is false, log4cxx::spi::Filter#DENY is returned.
If there is no match, log4cxx::spi::Filter#NEUTRAL is returned.
| log4cxx::filter::ExpressionFilter::ExpressionFilter | ( | ) |
|
overridevirtual |
pool parameter is not used and will be removed in a future version. Implement this method for now, but plan to migrate to activateOptions() without parameters. Implements log4cxx::spi::OptionHandler.
|
overridevirtual |
Returns log4cxx::spi::Filter#NEUTRAL is there is no string match.
Implements log4cxx::spi::Filter.
| bool log4cxx::filter::ExpressionFilter::getAcceptOnMatch | ( | ) | const |
| bool log4cxx::filter::ExpressionFilter::getConvertInFixToPostFix | ( | ) | const |
| LogString log4cxx::filter::ExpressionFilter::getExpression | ( | ) | const |
| void log4cxx::filter::ExpressionFilter::setAcceptOnMatch | ( | bool | acceptOnMatch | ) |
| void log4cxx::filter::ExpressionFilter::setConvertInFixToPostFix | ( | bool | convertInFixToPostFix | ) |
| void log4cxx::filter::ExpressionFilter::setExpression | ( | const LogString & | expression | ) |