dwww Home | Manual pages | Find package

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::MDC,
       Log::Log4perl::Filter::StringRange

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.36.0                      2022-10-30              Filter::Boolean(3pm)

Generated by dwww version 1.15 on Sun Jun 30 22:45:00 CEST 2024.