The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Log::Report::Dispatcher::Callback - call a code-ref for each log-line

INHERITANCE

 Log::Report::Dispatcher::Callback
   is a Log::Report::Dispatcher

SYNOPSIS

 sub cb($$$)
 {   my ($disp, $options, $reason, $message) = @_;
     ...
 }

 dispatcher Log::Report::Dispatcher::Callback => 'cb'
    , callback => \&cb;

 dispatcher CALLBACK => 'cb'   # same
    , callback => \&cb;

DESCRIPTION

This basic file logger accepts a callback, which is called for each message which is to be logged. When you need complex things, you may best make your own extension to Log::Report::Dispatcher, but for simple things this will do.

METHODS

Constructors

$obj->close()

See "Constructors" in Log::Report::Dispatcher

Log::Report::Dispatcher::Callback->new(TYPE, NAME, OPTIONS)
 -Option       --Defined in     --Default
  accept         Log::Report::Dispatcher  depend on mode
  callback                        <required>
  charset        Log::Report::Dispatcher  <undef>
  format_reason  Log::Report::Dispatcher  'LOWERCASE'
  locale         Log::Report::Dispatcher  <system locale>
  mode           Log::Report::Dispatcher  'NORMAL'
accept => REASONS
callback => CODE

Your callback is called with four parameters: this dispatcher object, the options, a reason and a message. The options are the first parameter of Log::Report::report() (read over there). The reason is a capitized string like ERROR. Finally, the message is a Log::Report::Message.

charset => CHARSET
format_reason => 'UPPERCASE'|'LOWERCASE'|'UCFIRST'|'IGNORE'|CODE
locale => LOCALE
mode => 'NORMAL'|'VERBOSE'|'ASSERT'|'DEBUG'|0..3

Accessors

$obj->callback()

Returns the code reference which will handle each logged message.

$obj->isDisabled()

See "Accessors" in Log::Report::Dispatcher

$obj->mode()

See "Accessors" in Log::Report::Dispatcher

$obj->name()

See "Accessors" in Log::Report::Dispatcher

$obj->needs()

See "Accessors" in Log::Report::Dispatcher

$obj->type()

See "Accessors" in Log::Report::Dispatcher

Logging

$obj->collectLocation()
Log::Report::Dispatcher::Callback->collectLocation()

See "Logging" in Log::Report::Dispatcher

$obj->collectStack([MAXDEPTH])
Log::Report::Dispatcher::Callback->collectStack([MAXDEPTH])

See "Logging" in Log::Report::Dispatcher

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

See "Logging" in Log::Report::Dispatcher

$obj->stackTraceLine(OPTIONS)
Log::Report::Dispatcher::Callback->stackTraceLine(OPTIONS)

See "Logging" in Log::Report::Dispatcher

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

See "Logging" in Log::Report::Dispatcher

SEE ALSO

This module is part of Log-Report distribution version 0.96, built on August 31, 2012. Website: http://perl.overmeer.net/log-report/

LICENSE

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