NAME
Log::Fine::Formatter - Log message formatting and sanitization
SYNOPSIS
Provides a formatting facility for log messages
use Log::Fine::Handle;
use Log::Fine::Formatter;
my $handle = Log::Fine::Handle::Console->new();
my $formatter = Log::Fine::Formatter::Detailed->new(
timestamp_format => "%Y-%m-%d %H:%M:%S"
);
# by default, the handle will set its formatter to
# Log::Fine::Formatter::Basic. If that's not what you want, set
# it to preference.
$handle->setFormatter($formatter);
# set the time-stamp to "YYYY-MM-DD HH:MM:SS"
$formatter->setTimestamp("%Y-%m-%d %H:%M:%S");
# high resolution timestamps with milliseconds are
# supported thus:
my $hires_formatter =
Log::Fine::Formatter::Basic->new(
hires => 1,
timestamp_format => "%H:%M:%S.%%millis%%",
);
DESCRIPTION
Base ancestral class for all formatters. All customized formatters must inherit from this class. The formatter class allows developers to adjust the time-stamp in a log message to a customizable strftime-compatible string without the tedious mucking about writing a formatter sub-class. By default, the time-stamp format is "%c". See "setTimestamp($format)" and the strftime man page for further details.
High Resolution Timestamps
High Resolution time stamps are generated using the Time::HiRes module. Depending on your distribution of perl, this may or may not be installed. Add the string "%%millis%%" (without the quotes) where you would like milliseconds displayed within your format. For example:
$formatter->setTimestamp("%H:%M:%S.%%millis%%");
Please note you must enable high resolution mode during Formatter construction as so:
my $formatter = Log::Fine::Formatter::Basic->new( hires => 1 );
By default, the time-stamp format for high resolution mode is "%H:%M:%S.%%millis%%". This can be changed via the "setTimestamp($format)" method or set during formatter construction.
METHODS
getTimestamp()
Returns the current strftime(3)-compatible format string for timestamped log messages
format($lvl, $msg, $skip)
Returns the formatted message. Must be sub-classed!
setTimestamp($format)
Sets the time-stamp format to the given strftime(3)-compatible string.
SEE ALSO
perl, strftime, Log::Fine, Time::HiRes
AUTHOR
Christopher M. Fuhrman, <cfuhrman at panix.com>
BUGS
Please report any bugs or feature requests to bug-log-fine-record at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Log-Fine. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Log::Fine
You can also look for information at:
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
RT: CPAN's request tracker
Search CPAN
REVISION INFORMATION
$Id: Formatter.pm 127 2009-02-06 19:25:55Z cfuhrman $
COPYRIGHT & LICENSE
Copyright (c) 2008, 2009 Christopher M. Fuhrman, All rights reserved.
This program is free software licensed under the...
The BSD License
The full text of the license can be found in the LICENSE file included with this module.