Log::Dispatch::File::Alerts - Object for logging to alert files
use Log::Dispatch::File::Alerts;
my $file = Log::Dispatch::File::Alerts->new( name => 'file1', min_level => 'emerg', filename => 'Somefile%d{yyyy!!!!}.log', mode => 'append' );
$file->log( level => 'emerg', message => "I've fallen and I can't get up\n" );
This module provides an object for logging to files under the Log::Dispatch::* system.
This module subclasses Log::Dispatch::File for logging to date/time stamped files. See the Log::Dispatch::File manpage for instructions on usage. This module differs only on the following three points:
This module will use a seperate file for every log message.
This module uses flock() to lock the file while writing to it.
This module supports a special tag in the filename that will expand to the current date/time/pid.
It is the same tag Log::Log4perl::Layout::PatternLayout uses, see the Log::Log4perl::Layout::PatternLayout manpage, chapter "Fine-tune the date". In short: Include a "%d{...}" in the filename where "..." is a format string according to the SimpleDateFormat in the Java World (http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html). See also the Log::Log4perl::DateFormat manpage for information about further restrictions.
In addition to the format provided by Log::Log4perl::DateFormat this module also supports '$' for inserting the PID and '!' for inserting a uniq number. Repeat the character to define how many character wide the field should be.
A note on the '!': The module first tries to find a fresh filename with this set to 1. If there is already a file with that name then it is increased until either a free filename has been found or it reaches 9999. In the later case the module dies.
new()
See the Log::Dispatch::File manpage and chapter DESCRIPTION above.
log_message()
See the Log::Dispatch::File manpage and chapter DESCRIPTION above.
Original version; taken from Log::Dispatch::File::Rolling 1.02
Initial coding
Updated packaging for newer standards. No changes to the coding.
the Log::Dispatch::File manpage, the Log::Log4perl::Layout::PatternLayout manpage, the Log::Dispatch::File::Rolling manpage, the Log::Log4perl::DateFormat manpage, http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html, 'perldoc -f flock'
M. Jacob, <jacob@j-e-b.net>
Copyright (C) 2003, 2007 M. Jacob <jacob@j-e-b.net>
Based on:
Log::Dispatch::File::Stamped by Eric Cholet <cholet@logilune.com> Log::Dispatch::FileRotate by Mark Pfeiffer, <markpf@mlp-consulting.com.au>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.