Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

chaos_cat's scratchpad

by chaos_cat (Scribe)
on Jan 07, 2008 at 21:46 UTC ( #660949=scratchpad: print w/ replies, xml ) Need Help??

# To make Log4perl not crash your application if your logging director +y doesn't exist, include something like this in a wrapper file. INIT: while ( !$init_done ) { $init_done = eval { Log::Log4perl->init($conf_file_name); 1; }; if ($@) { warn "Logger error was: $@"; # Config file error of some kind # Send some alert message here, somehow # if we get a missing directory error, try some (sane) recover +y # error message looks like: # Can't open <PATH> (No such file or directory) at perl/site/l +ib/Log/Log4perl/Appender/File.pm line 102. if ( $@ =~ m{Can't\sopen\s$base_path(.+)/[^/]+\s\(No such file + or directory\)} ) { my $path = $1; $path = $base_path . $path; # if the base path isn't th +ere, creating it is above this module's pay grade warn "log directory $path does not exist, attempting to cr +eate it"; if ( $paths{$path}++ ) { # only try once to create a + given path. This prevents infinite loops here warn "alredy tried to create this path"; last INIT; } eval { mkpath($path) }; warn "unable to create path $path" if ( !-d $path ); } # for other config file errors, throw our hands up in disgust +and move on else { last INIT; } } }# if we couldn't get the config file to initlize, load a blank one an +d move on without logging if ( ! $init_done ) { warn "Couldn't initilize logger, defaulting to blank config file"; Log::Log4perl::init(\''); # this will throw a warning, but that's +not really a bad thing }
Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (14)
As of 2015-07-06 13:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (74 votes), past polls