From: Mike S. <m...@pe...> - 2012-07-08 15:32:53
|
On Wed, 4 Jul 2012, Meir Guttman wrote: > Well, I found at least one use for the $logger->log() method: dynamic level logging. Hi Meir, that's an interesting use case, thanks for reporting it. I've changed the documentation accordingly: https://github.com/mschilli/log4perl/commit/b60c85acb482095a5d1939c2a25e64653f3c3624 -- -- Mike Mike Schilli m...@pe... > I have though an issue with one passage in the documentation. In the CPAN page Log::Log4perl (Ver. 1.37) (http://search.cpan.org/~mschilli/Log-Log4perl-1.37/lib/Log/Log4perl.pm) one can read the following: > > Instead of calling the methods > > $logger->trace("..."); # Log a trace message > ... (other variants deleted) > > you could also call the log() method with the appropriate level using the constants defined in Log::Log4perl::Level: > > use Log::Log4perl::Level; > > $logger->log($TRACE, "..."); > ... (other variants deleted) > > But *** nobody does that, really ***. (my enhancement - MG) Neither > does anyone need more logging levels than these predefined ones. If > you think you do, I would suggest you look into steering your logging > behavior via the category mechanism. > > Well, I found at least one use for the $logger->log() method: dynamic level logging. > > Take for example a "system()" call. It can return a number of exit codes by issuing something like «exit(0x2C);» command. I find it very convenient to segregate on the basis of the return code what logging level to assign to the log message upon returning: > > my %exit_level = ( > 0 => $INFO, > 1 => $WARN, > 2 => $WARN, > 4 => $ERROR, > 0xFF => $FATAL, > ); > > My %message = ( > 0 => "Message 1", > 1 => "..." > ... > ); > > my $result = system ('perl', 'my_script.pl, @args) >>= 8; > > $logger->log($exit_level{$result}, $message{$result}); > > So, I would recommend a change in the doc showing such an example. > > Meir > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > log4perl-devel mailing list > log...@li... > https://lists.sourceforge.net/lists/listinfo/log4perl-devel |