manpagez: man pages & more
man Log::Log4perl::Filter::Boolean(3)
Home | html | info | man
Filter::Boolean(3)    User Contributed Perl Documentation   Filter::Boolean(3)




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(3), Log::Log4perl::Filter::LevelMatch(3),
       Log::Log4perl::Filter::LevelRange(3), Log::Log4perl::Filter::MDC(3),
       Log::Log4perl::Filter::StringRange(3)


LICENSE

       Copyright 2002-2013 by Mike Schilli <m@perlmeister.com> and Kevin Goess
       <cpan@goess.org>.

       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.


AUTHOR

       Please contribute patches to the project on Github:

           http://github.com/mschilli/log4perl

       Send bug reports or requests for enhancements to the authors via our

       MAILING LIST (questions, bug reports, suggestions/patches):
       log4perl-devel@lists.sourceforge.net

       Authors (please contact them via the list above, not directly): Mike
       Schilli <m@perlmeister.com>, Kevin Goess <cpan@goess.org>

       Contributors (in alphabetical order): Ateeq Altaf, Cory Bennett, Jens
       Berthold, Jeremy Bopp, Hutton Davidson, Chris R. Donnelly, Matisse
       Enzer, Hugh Esco, Anthony Foiani, James FitzGibbon, Carl Franks, Dennis
       Gregorovic, Andy Grundman, Paul Harrington, Alexander Hartmaier  David
       Hull, Robert Jacobson, Jason Kohles, Jeff Macdonald, Markus Peter,
       Brett Rann, Peter Rabbitson, Erik Selberg, Aaron Straup Cope, Lars
       Thegler, David Viner, Mac Yang.



perl v5.30.0                      2017-02-21                Filter::Boolean(3)

log-log4perl 1.490.0 - Generated Mon Jul 20 10:43:21 CDT 2020
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.