Filter::Boolean(3pm) User Contributed Perl Documentation Filter::Boolean(3pm)
NAME
Log::Log4perl::Filter::Boolean - Special filter to combine the results of others
SYNOPSIS
log4perl.logger = WARN, AppWarn, AppError
log4perl.filter.Match1 = sub { /let this through/ }
log4perl.filter.Match2 = sub { /and that, too/ }
log4perl.filter.MyBoolean = Log::Log4perl::Filter::Boolean
log4perl.filter.MyBoolean.logic = Match1 || Match2
log4perl.appender.Screen = Log::Dispatch::Screen
log4perl.appender.Screen.Filter = MyBoolean
log4perl.appender.Screen.layout = Log::Log4perl::Layout::SimpleLayout
DESCRIPTION
Sometimes, it's useful to combine the output of various filters to arrive at a log/no log
decision. While Log4j, Log4perl's mother ship, chose to implement this feature as a filter
chain, similar to Linux' IP chains, Log4perl tries a different approach.
Typically, filter results will not need to be passed along in chains but combined in a
programmatic manner using boolean logic. "Log if this filter says 'yes' and that filter
says 'no'" is a fairly common requirement but hard to implement as a chain.
"Log::Log4perl::Filter::Boolean" is a special predefined custom filter for Log4perl which
combines the results of other custom filters in arbitrary ways, using boolean expressions:
log4perl.logger = WARN, AppWarn, AppError
log4perl.filter.Match1 = sub { /let this through/ }
log4perl.filter.Match2 = sub { /and that, too/ }
log4perl.filter.MyBoolean = Log::Log4perl::Filter::Boolean
log4perl.filter.MyBoolean.logic = Match1 || Match2
log4perl.appender.Screen = Log::Dispatch::Screen
log4perl.appender.Screen.Filter = MyBoolean
log4perl.appender.Screen.layout = Log::Log4perl::Layout::SimpleLayout
"Log::Log4perl::Filter::Boolean"'s boolean expressions allow for combining different
appenders by name using AND (&& or &), OR (|| or |) and NOT (!) as logical expressions.
Parentheses are used for grouping. Precedence follows standard Perl. Here's a bunch of
examples:
Match1 && !Match2 # Match1 and not Match2
!(Match1 || Match2) # Neither Match1 nor Match2
(Match1 && Match2) || Match3 # Both Match1 and Match2 or Match3
SEE ALSO
Log::Log4perl::Filter, Log::Log4perl::Filter::LevelMatch,
Log::Log4perl::Filter::LevelRange, Log::Log4perl::Filter::StringRange
AUTHOR
Mike Schilli, <log4perl AT perlmeister.com>, 2003
perl v5.10.0 2003-08-11 Filter::Boolean(3pm)
Generated by $Id: phpMan.php,v 4.49 2006/02/26 13:18:18 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2012-05-24 16:04 @38.107.179.237 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html)