Making self-logging modules with Log::Log4perl
Posted
by Oesor
on Stack Overflow
See other posts from Stack Overflow
or by Oesor
Published on 2010-06-10T21:07:14Z
Indexed on
2010/06/10
21:53 UTC
Read the original article
Hit count: 236
Is there a way to use Log::Log4perl to make a smart self-logging module that logs its operations to a file even in the absence of the calling script not initializing Log4perl? As far as I can tell from the documentation, the only way to use Log4perl is to initialize it in the running script from a configuration, then modules implementing Log4perl calls log themselves based on the caller's Log4perl config.
Instead, I'd like the modules to provide a default initialization config for Log4perl. This would provide the default file appender for the module's category. Then, I could override this behavior by initing Log4perl in the caller with a different config if needed, and everything would hopefully just work.
Is this sort of defensive logging behavior possible or am I going to need to rely on initing Log4perl in every .pl script that calls the module I want logged?
© Stack Overflow or respective owner