Scroll to navigation

Log::Report::Dispatcher::Callback(3pm) User Contributed Perl Documentation Log::Report::Dispatcher::Callback(3pm)

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.

Extends "DESCRIPTION" in Log::Report::Dispatcher.

. Example

  sub send_mail($$$)
  {   my ($disp, $options, $reason, $message) = @_;
      my $msg = Mail::Send->new(Subject => $reason
        , To => 'admin@localhost');
      my $fh  = $msg->open('sendmail');
      print $fh $disp->translate($reason, $message);
      close $fh;
  }

  dispatcher CALLBACK => 'mail', callback => \&send_mail;

METHODS

Extends "METHODS" in Log::Report::Dispatcher.

Constructors

Extends "Constructors" in Log::Report::Dispatcher.
$obj->close()
Inherited, 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 five 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". Then, the "message" (is a Log::Report::Message). Finally the text-domain of the message.
charset => CHARSET
format_reason => 'UPPERCASE'|'LOWERCASE'|'UCFIRST'|'IGNORE'|CODE
locale => LOCALE
mode => 'NORMAL'|'VERBOSE'|'ASSERT'|'DEBUG'|0..3

Accessors

Extends "Accessors" in Log::Report::Dispatcher.
$obj->callback()
Returns the code reference which will handle each logged message.
$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->type()
Inherited, see "Accessors" in Log::Report::Dispatcher

Logging

Extends "Logging" in Log::Report::Dispatcher.
$obj->addSkipStack(@CODE)
Log::Report::Dispatcher::Callback->addSkipStack(@CODE)
Inherited, see "Logging" in Log::Report::Dispatcher
$obj->collectLocation()
Log::Report::Dispatcher::Callback->collectLocation()
Inherited, see "Logging" in Log::Report::Dispatcher
$obj->collectStack( [$maxdepth] )
Log::Report::Dispatcher::Callback->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->skipStack()
Inherited, see "Logging" in Log::Report::Dispatcher
$obj->stackTraceLine(%options)
Log::Report::Dispatcher::Callback->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.18, built on October 21, 2016. Website: http://perl.overmeer.net/log-report/

LICENSE

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

2016-10-30 perl v5.24.1