From 2917ce75352c9e6577e2e473ebaab6d729d57e1a Mon Sep 17 00:00:00 2001 From: David Cook Date: Wed, 26 Aug 2020 00:58:36 +0000 Subject: [PATCH] Bug 16357: Only use Log4perl middleware if appenders defined This patch checks that the loggers used by the middleware actually have appenders defined. Without this patch, if the loggers don't have appenders defined in the log4perl file, the logs will just be lost. Signed-off-by: Arthur Suzuki Signed-off-by: Martin Renvoize Signed-off-by: Jonathan Druart (cherry picked from commit 68ec27562fbb89c68058505b35c14aab7accc7fb) Signed-off-by: Lucas Gass --- debian/templates/plack.psgi | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/debian/templates/plack.psgi b/debian/templates/plack.psgi index 7bfb34fb68..99438c595a 100644 --- a/debian/templates/plack.psgi +++ b/debian/templates/plack.psgi @@ -38,6 +38,7 @@ use Koha::Database; use Koha::DateUtils; use Koha::Logger; +use Log::Log4perl; use CGI qw(-utf8 ); # we will loose -utf8 under plack, otherwise { no warnings 'redefine'; @@ -77,18 +78,24 @@ builder { enable "+Koha::Middleware::RealIP"; mount '/opac' => builder { - enable 'Log4perl', category => 'plack-opac'; - enable 'LogWarn'; + if ( Log::Log4perl->get_logger('plack-opac')->has_appenders ){ + enable 'Log4perl', category => 'plack-opac'; + enable 'LogWarn'; + } $opac; }; mount '/intranet' => builder { - enable 'Log4perl', category => 'plack-intranet'; - enable 'LogWarn'; + if ( Log::Log4perl->get_logger('plack-intranet')->has_appenders ){ + enable 'Log4perl', category => 'plack-intranet'; + enable 'LogWarn'; + } $intranet; }; mount '/api/v1/app.pl' => builder { - enable 'Log4perl', category => 'plack-api'; - enable 'LogWarn'; + if ( Log::Log4perl->get_logger('plack-api')->has_appenders ){ + enable 'Log4perl', category => 'plack-api'; + enable 'LogWarn'; + } $apiv1; }; }; -- 2.39.5