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