Log::Log4perl::Logger->$method returns undef if the log level is not logged or something bad happened and true or something similar on success. This allows chaining different loggers to trigger if Log4perl failed to log. Koha::Logger is hardwired to return 1 if Log4perl is configured properly regardless of whether the Log4perl actually succeeded in printing the log message. This is a Log4perl best practice: $Koha::Logger->debug() or syslog("LOG_DEBUG", ...); which should revert to syslog() to log if Log4perl cannot for some reason do the logging. (eg. is disabled) This patch makes the Koha::Logger work with Log4perl better in tandem and return the proper return values.
Created attachment 50473 [details] [review] Bug 16313 - Koha::Logger doesn't forward the Log::Log4perl::Logger return value Log::Log4perl::Logger->$method returns undef if the log level is not logged or something bad happened and true or something similar on success. This allows chaining different loggers to trigger if Log4perl failed to log. Koha::Logger is hardwired to return 1 if Log4perl is configured properly regardless of whether the Log4perl actually succeeded in printing the log message. The following is a Log4perl best practice: $Koha::Logger->debug() or syslog("LOG_DEBUG", ...); which should revert to syslog() to log if Log4perl cannot for some reason do the logging. (eg. is disabled) This patch makes the Koha::Logger work with Log4perl better in tandem and return the proper return values. See unit tests.
If you made it this far, the correct order of applying the dependant patches is as follows: Bug 16313 - Koha::Logger doesn't forward the Log::Log4perl::Logger return v~ Bug 16312 - Koha::Logger overload configuration for command line scripts ~ Bug 16306 - C4::Context->setCommandlineEnvironment() convenience function Bug 16304 - Koha::Logger, lazy load loggers so environment has time to get set Bug 16303 - Koha::Logger appenders for interface 'commandline' Bug 16302 - Koha::Logger performance tests Bug 14167 - Add Koha::Logger based on Log4perl.
Depends on a patch in Failed QA - Marking as BLOCKED until dependency can be resolved.