From a47536c93f5ab80b0c887e9762020b62f93b4853 Mon Sep 17 00:00:00 2001 From: David Cook Date: Thu, 25 Aug 2022 23:59:42 +0000 Subject: [PATCH] Bug 22678: Use Koha::Logger for Mojolicious API logger Content-Type: text/plain; charset=utf-8 This patch adds Koha::Logger as the Mojolicious logging object for the API Mojolicious app. Test plan: 0. Apply the patch and koha-plack --restart kohadev 1. Add $c->app->log->debug('DEBUG') and $c->app->log->warn('WARN') to a API controller like Koha::REST::V1::Libraries 2. koha-plack --restart kohadev 3. Go to the API route tied to that API controller method 4. Look at /var/log/koha/kohadev/api-error.log 5. Note that 'WARN' appears but 'DEBUG' does not Signed-off-by: Marcel de Rooy [EDIT] Adding a context sub to Koha::Logger to get it working. --- Koha/Logger.pm | 12 ++++++++++++ Koha/REST/V1.pm | 3 +++ 2 files changed, 15 insertions(+) diff --git a/Koha/Logger.pm b/Koha/Logger.pm index f91e5a2277..472f34a51a 100644 --- a/Koha/Logger.pm +++ b/Koha/Logger.pm @@ -189,6 +189,18 @@ sub debug_to_screen { $self->{logger}->level( $Log::Log4perl::DEBUG ); } +=head2 context + +Mojolicous 8.23 added a "context" method, which Mojolicious will die +on if it's missing from the logger. + +=cut + +sub context { + my $self = shift; + return $self; +} + =head1 AUTHOR Kyle M Hall, Ekyle@bywatersolutions.comE diff --git a/Koha/REST/V1.pm b/Koha/REST/V1.pm index 62d326e0fd..79d73bbb87 100644 --- a/Koha/REST/V1.pm +++ b/Koha/REST/V1.pm @@ -43,6 +43,9 @@ Overloaded Mojolicious->startup method. It is called at application startup. sub startup { my $self = shift; + my $logger = Koha::Logger->get({ interface => 'api' }); + $self->log($logger); + $self->hook( before_dispatch => sub { my $c = shift; -- 2.20.1