GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

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

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

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

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

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

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

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;

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

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

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

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

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

This module is part of Log-Report distribution version 1.33, built on July 17, 2021. Website: http://perl.overmeer.net/CPAN/

Copyrights 2007-2021 by [Mark Overmeer <markov@cpan.org>]. 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://dev.perl.org/licenses/

2021-07-17 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.