Changes for version 0.42
- (kg) added filters to XML DOMConfig and DTD
- (ms) Fixed caller level to cspecs by adding one
- (ms) Added init_once() and documentation
- (ms) Worked around the perl bug that triggers __DIE__ handlers even if die() occurs within an eval(). So if you did BEGIN { $SIG{__DIE__} = sub { print "ouch!"; die }; } use Log::Log4perl; and Time::HiRes wasn't available, the eval { require Time::HiRes } in PatternLayout.pm triggered the __DIE__ handler. Now there's a function module_available() in L4p::Util to check if a module is installed.
- (ms) Fixed %M cspec in PatternLayout in case a logging method is called within one (or more) eval {} block(s). caller(n+m) will be called repeatedly if necessary to get the next real subroutine. Anonymous subroutines will still be called __ANON__, but this can be overridden by defining local *__ANON__ = "subroutine_name"; in them explicitely (thanks, Perlmonks :).
Modules
Log4j implementation for Perl
Log appender class
implements appending to a DB
Log to file
Log to STDOUT/STDERR
Log to a socket
Synchronizing other appenders
Subclass of Appender::TestBuffer
Appender class for testing
Intentionally slow test appender
Log4perl configuration file syntax
reads xml config files
reads properties file
Detect file changes
Log4perl advanced date formatter helper class
Frequently Asked Questions on Log::Log4perl
Log4perl Custom Filter Base Class
Special filter to combine the results of others
Filter to match the log level exactly
Filter for a range of log levels
Filter to match the log level exactly
maps java log4j appenders to Log::Dispatch classes
wraps Log::Dispatch::Screen
wraps Log::Dispatch::File
wraps Log::Log4perl::Appender::DBI
wraps Log::Dispatch::Win32EventLog
wraps Log::Dispatch::FileRotate
wraps Log::Dispatch::Syslog
wraps Log::Log4perl::Appender::TestBuffer
Log4perl Layout Virtual Base Class
Pass-thru Layout
Pattern Layout
Simple Layout
Predefined log levels
Main Logger Class
Mapped Diagnostic Context
Nested Diagnostic Context
Internal utility functions