Provided by: libjifty-perl_1.10518+dfsg-3ubuntu1_all bug


       Jifty::Logger -- A master class for Jifty's logging framework


       Jifty uses the Log4perl module to log error messages. In Jifty programs there's two ways
       you can get something logged:

       Firstly, Jifty::Logger captures all standard warnings that Perl emits.  So in addition to
       everything output from perl via the warnings pragmas, you can also log messages like so:

           warn("The WHAM is overheating!");

       This doesn't give you much control however.  The second way allows you to specify the
       level that you want logging to occur at:

           Jifty->log->debug("Checking the WHAM");
           Jifty->log->info("Potential WHAM problem detected");
           Jifty->log->warn("The WHAM is overheating");
           Jifty->log->fatal("Someone call Eddie Murphy!");

   Configuring Log4perl
       Unless you specify otherwise in the configuration file, Jifty will supply a default
       Log4perl configuration.

       The default log configuration that logs all messages to the screen (i.e. to STDERR, be
       that directly to the terminal or to the FastCGI log file.)  It will log all messages of
       equal or higher priority to the LogLevel configuration option.

             LogLevel: DEBUG

       You can override the LogLevel configuration option by setting JIFTY_LOG_LEVEL in your

       You can tell Jifty to use an entirely different Logging configuration by specifying the
       filename of a standard Log4perl config file in the LogConfig config option (see
       Log::Log4perl for the format of this config file.)

             LogConfig: etc/log4perl.conf

       Note that specifying your own config file prevents the LogLevel config option from having
       any effect.

       You can tell Log4perl to check that file periodically for changes.  This costs you a
       little in application performance, but allows you to change the logging level of a running
       application.  You need to set LogReload to the frequency, in seconds, that the file should
       be checked.

             LogConfig: etc/log4perl.conf
             LogReload: 10

       (This is implemented with Log4perl's init_and_watch functionality)


       This class method instantiates a new "Jifty::Logger" object. This object deals with
       logging for the system.

       Takes an optional name for this Jifty's logging "component" - See Log::Log4perl for some
       detail about what that is.  It sets up a "warn" handler which logs warnings to the
       specified component.

       change the Log4Perl action from warn to error|info|etc based on the content of the

       Added because DBD::Pg throws up NOTICE and other messages as warns, and we really want
       those to be info (or error, depending on the code).  List based on Postgres documentation

       TODO: needs to be smarter than just string matching

       returns a valid Log::Log4Perl action, if nothing matches will return the default of warn
       since we're in a __WARN__ handler


       Various folks at Best Practical Solutions, LLC.

       Mark Fowler <> fiddled a bit.