
Log::Fine::Handle::File - Output log messages to a file

Provides logging to a file
use Log::Fine;
use Log::Fine::Handle::File;
# Get a new logger
my $log = Log::Fine->logger("foo");
# register a file handle (default values shown)
my $handle = Log::Fine::Handle::File
->new( name => 'file0',
mask => LOGMASK_EMERG | LOGMASK_ALERT | LOGMASK_CRIT | LOGMASK_ERR | LOGMASK_WARNING | LOGMASK_NOTICE | LOGMASK_INFO,
dir => "/var/log",
file => "myapp.log",
autoflush => 0 );
# register the handle
$log->registerHandle($handle);
# log something
$log->(INFO, "Opened new log handle");

Log::Fine::Handle::File provides logging to a file. Note that this module will log messages to a specific file. Support for dynamic time-stamps in file names (e.g., myapp-080523.log) is provided by Log::Fine::Handle::File::Timestamp. Further features, such as log file rotation a la syslog can be added by sub-classing this class.
The following parameters can be passed to Log::Fine::Handle::File->new():
[optional] Name of this object (see Log::Fine). Will be autoset if not specified.
Mask to set the handle to (see Log::Fine::Handle)
Directory to place the log file
Name of the log file. Note that if the given file is an absolute path, then dir will be ignored.
[default: 0] If set to true, will close the filehandle after every invocation of "msgWrite". NOTE: will significantly slow down logging speed if multiple messages are logged at once. Consider autoflush instead
[default: 0] If set to true, will force file flush after every write or print (see FileHandle and perlvar)

Getter for file handle. If a file handle is not defined, then one will be created.
Override this method if you wish to support features such as time-stamped and/or rotating files.
A FileHandle object
See "msgWrite" in Log::Fine::Handle

Please report any bugs or feature requests to bug-log-fine-handle-file 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.

You can find documentation for this module with the perldoc command.
perldoc Log::Fine
You can also look for information at:

$Id: 5fc56d0db5f7845533401a46a3ff114b54c5361e $

Christopher M. Fuhrman, <cfuhrman at panix.com>

perl, Log::Fine, Log::Fine::Handle

Copyright (c) 2008, 2010-2011 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.