The following module was proposed for inclusion in the Module List:
modid: Global::Notifications
DSLIP: adpfp
description: Generic proxy for messages, such as logging
userid: SRIEHM (Stephen Riehm)
chapterid: 3 (Development_Support)
communities:
irc.perl.org
similar:
Notification::Center, Log::Dispatch, Log::Log4Perl
rationale:
Notifications is a generic message dispatcher which requires
(almost) no configuration and has no dependencies (other than
Global::Notifications) - making it light enough for any module to
use, something like:
package myModule; use Notficications qw( error info progress ); #
each name here generates a simple message dispatcher
# now you can dispatch messages rather than printf's progress(
'doing that thang...', steps => 5 ); info( 'fuddling the whodicky'
); error( 'something went wrong' );
Essentially, individual modules should NOT know or care how or
where their logging information etc. is configured. They should not
have to create logging objects etc, but they should report what
they're doing!
The application would then do something like:
# Set up any / favourite logging object(s!) my $real_log =
Log::Dispatch->new(...); # Make sure they can get Notifications my
$logger = Notifications::Observer::LogDispatch->new( log =>
$real_log ); # or a simple handmade object # and now start logging
$logger->start();
and then any modules sending notifications would have their
messages logged.
The benefit being that modules need know nothing, leaving full
control to the application.
enteredby: SRIEHM (Stephen Riehm)
enteredon: Sun Feb 13 10:28:35 2011 GMT
The resulting entry would be:
Global::
::Notifications adpfp Generic proxy for messages, such as logging SRIEHM
Thanks for registering,
--
The PAUSE
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=b6400000_5772c1f51ae14fa3&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=b6400000_5772c1f51ae14fa3&SUBMIT_pause99_add_mod_insertit=1
Peek at the current permissions:
https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me&pause99_peek_perms_query=Global%3A%3ANotifications