Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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, 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.24.1			  2017-02-21		    Filter::Boolean(3)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | LICENSE | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Log::Log4perl::Filter::Boolean&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help