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

Filed under:
|
|

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

Related posts about perl

Related posts about logging