NAME¶
Log::Report::Dispatcher::File - send messages to a file or file-handle
INHERITANCE¶
Log::Report::Dispatcher::File
is a Log::Report::Dispatcher
SYNOPSIS¶
dispatcher Log::Report::Dispatcher::File => 'stderr'
, to => \*STDERR, accept => 'NOTICE-';
# close a dispatcher
dispatcher close => 'stderr';
# let dispatcher open and close the file
dispatcher FILE => 'mylog', to => '/var/log/mylog'
, charset => 'utf-8';
...
dispatcher close => 'mylog'; # will close file
# open yourself, then also close yourself
open OUT, ">:encoding('iso-8859-1')", '/var/log/mylog'
or fault "...";
dispatcher FILE => 'mylog', to => \*OUT;
...
dispatcher close => 'mylog';
close OUT;
# dispatch into a scalar
my $output = '';
open $outfile, '>', \$output;
dispatcher FILE => 'into-scalar', to => \$outfile;
...
dispatcher close => 'into-scalar';
print $output;
DESCRIPTION¶
This basic file logger accepts an file-handle or filename as destination.
[1.00] writing to the file protected by a lock, so multiple processes can write
to the same file.
Extends "DESCRIPTION" in Log::Report::Dispatcher.
METHODS¶
Extends "METHODS" in Log::Report::Dispatcher.
Constructors¶
Extends "Constructors" in Log::Report::Dispatcher.
- Log::Report::Dispatcher::File->new($type, $name, %options)
-
-Option --Defined in --Default
accept Log::Report::Dispatcher depend on mode
charset Log::Report::Dispatcher LOCALE
format <adds timestamp>
format_reason Log::Report::Dispatcher 'LOWERCASE'
locale Log::Report::Dispatcher <system locale>
mode Log::Report::Dispatcher 'NORMAL'
replace false
to <required>
- accept => REASONS
- charset => CHARSET
- format => CODE|'LONG'
- [1.00] process each printed line. By default, this adds a timestamp, but
you may want to add hostname, process number, or more.
format => sub { '['.localtime().'] '.$_[0] }
format => sub { shift } # no timestamp
format => 'LONG'
The first parameter to format is the string to print; it is already
translated and trailed by a newline. The second parameter is the
text-domain (if known). The "LONG" format is equivalent to:
my $t = strftime "%FT%T", gmtime;
"[$t $$] $_[1] $_[0]"
- format_reason => 'UPPERCASE'|'LOWERCASE'|'UCFIRST'|'IGNORE'|CODE
- locale => LOCALE
- mode => 'NORMAL'|'VERBOSE'|'ASSERT'|'DEBUG'|0..3
- replace => BOOLEAN
- Only used in combination with a FILENAME: throw away the old file if it
exists. Probably you wish to append to existing information.
Use the LOCALE setting by default, which is LC_CTYPE or LC_ALL or LANG (in
that order). If these contain a character-set which Perl understands, then
that is used, otherwise silently ignored.
- to => FILENAME|FILEHANDLE|OBJECT
- You can either specify a FILENAME, which is opened in append mode with
autoflush on. Or pass any kind of FILE-HANDLE or some OBJECT which
implements a "print()" method. You probably want to have
autoflush enabled on your FILE-HANDLES.
When cleaning-up the dispatcher, the file will only be closed in case of a
FILENAME.
Accessors¶
Extends "Accessors" in Log::Report::Dispatcher.
- $obj->filename()
- Returns the name of the opened file, or "undef" in case this
dispatcher was started from a file-handle or file-object.
- $obj->format()
- $obj->isDisabled()
- Inherited, see "Accessors" in Log::Report::Dispatcher
- $obj->mode()
- Inherited, see "Accessors" in Log::Report::Dispatcher
- $obj->name()
- Inherited, see "Accessors" in Log::Report::Dispatcher
- $obj->needs( [$reason] )
- Inherited, see "Accessors" in Log::Report::Dispatcher
- $obj->output()
- $obj->type()
- Inherited, see "Accessors" in Log::Report::Dispatcher
File maintenance¶
- $obj->close()
- Only when initiated with a FILENAME, the file will be closed. In any other
case, nothing will be done.
- $obj->rotate($filename)
- [1.00] Move the current file to $filename, and start a new file.
Logging¶
Extends "Logging" in Log::Report::Dispatcher.
- $obj->collectLocation()
- Log::Report::Dispatcher::File->collectLocation()
- Inherited, see "Logging" in Log::Report::Dispatcher
- $obj->collectStack( [$maxdepth] )
- Log::Report::Dispatcher::File->collectStack( [$maxdepth] )
- Inherited, see "Logging" in Log::Report::Dispatcher
- $obj->log(HASH-$of-%options, $reason, $message, $domain)
- Inherited, see "Logging" in Log::Report::Dispatcher
- $obj->stackTraceLine(%options)
- Log::Report::Dispatcher::File->stackTraceLine(%options)
- Inherited, see "Logging" in Log::Report::Dispatcher
- $obj->translate(HASH-$of-%options, $reason, $message)
- Inherited, see "Logging" in Log::Report::Dispatcher
DETAILS¶
Extends "DETAILS" in Log::Report::Dispatcher.
SEE ALSO¶
This module is part of Log-Report distribution version 1.05, built on June 24,
2014. Website:
http://perl.overmeer.net/log-report/
LICENSE¶
Copyrights 2007-2014 by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself. See
http://www.perl.com/perl/misc/Artistic.html