Log::Report::Dispatcher::Callback(3) User Contributed Perl Documentation 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. $class->new($type, $name, %options) Inherited, see "Constructors" in Log::Report::Dispatcher -Option --Defined in --Default accept Log::Report::Dispatcher depend on mode callback charset Log::Report::Dispatcher undef format_reason Log::Report::Dispatcher 'LOWERCASE' locale Log::Report::Dispatcher mode Log::Report::Dispatcher 'NORMAL' accept => $reasons|\@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. $any->addSkipStack(@CODE) Inherited, see "Logging" in Log::Report::Dispatcher $obj->close() Inherited, see "Logging" in Log::Report::Dispatcher $any->collectLocation() Inherited, see "Logging" in Log::Report::Dispatcher $any->collectStack( [$maxdepth] ) Inherited, see "Logging" in Log::Report::Dispatcher $obj->log(\%options, $reason, $message, $domain) Inherited, see "Logging" in Log::Report::Dispatcher $obj->skipStack() Inherited, see "Logging" in Log::Report::Dispatcher $any->stackTraceLine(%options) Inherited, see "Logging" in Log::Report::Dispatcher $obj->translate(\%options, $reason, $message) Inherited, see "Logging" in Log::Report::Dispatcher DETAILS Extends "DETAILS" in Log::Report::Dispatcher. DIAGNOSTICS Error: dispatcher $name needs a 'callback' Cast by new() SEE ALSO This module is part of Log-Report version 1.43, built on December 05, 2025. Website: http://perl.overmeer.net/CPAN/ LICENSE For contributors see file ChangeLog. This software is copyright (c) 2007-2025 by Mark Overmeer. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.42.0 2025-12-12 Log::Report::Dispatcher::Callback(3)