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.

METHODS

Constructors

$obj->close

    Only when initiated with a FILENAME, the file will be closed. In any other case, nothing will be done.

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_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_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|FILE-OBJECT

      You can either specify a FILENAME, which is opened in append mode, or any kind of handle or object which accepts supports print(). When cleaning-up the dispatcher, the file will only be closed in case of a FILENAME.

Accessors

$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->isDisabled

$obj->mode

$obj->name

$obj->needs

$obj->type

Logging

$obj->collectLocation

Log::Report::Dispatcher::File->collectLocation

$obj->collectStack([MAXDEPTH])

$obj->log(HASH-of-OPTIONS, REASON, MESSAGE)

$obj->stackTraceLine(OPTIONS)

Log::Report::Dispatcher::File->stackTraceLine(OPTIONS)

$obj->translate(HASH-of-OPTIONS, REASON, MESSAGE)

DETAILS

SEE ALSO

This module is part of Log-Report distribution version 0.21, built on January 21, 2009. Website: http://perl.overmeer.net/log-report/

LICENSE

Copyrights 2007-2009 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