From f3f88b4ed3a0a81c91ba1a3baf82f390816d2fc4 Mon Sep 17 00:00:00 2001 From: Olli-Antti Kivilahti Date: Thu, 11 Jun 2015 17:48:54 +0300 Subject: [PATCH] Bug 13799 - Set up logging and configuration file reading for Mojolicious. Use environmental values to control some aspects of Mojolicious: This way we can have different settings for different servers running Mojolicious. %%%% Configuration file %%%% $ENV{MOJO_CONFIG} should be set in the system service (init) starting Mojolicious, eg: export MOJO_CONFIG=/home/koha/kohaclone/api/v1/hypnotoad.conf This configuration file read by the Mojolicious::Plugin::Config http://mojolicio.us/perldoc/Mojolicious/Plugin/Config %%%%% Logging %%%%% Log to a filename configured in an environemnt variable $ENV{MOJO_LOGFILE} using loglevel $ENV{MOJO_LOGLEVEL}. Defaults to '/tmp/koha-api.log' and loglevel of 'error' Examples: export MOJO_LOGFILE=/home/koha/koha-dev/var/log/kohaapi.mojo.log export MOJO_LOGLEVEL=debug Logging is done by Mojo::Log http://www.mojolicio.us/perldoc/Mojo/Log --- Koha/REST/V1.pm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/Koha/REST/V1.pm b/Koha/REST/V1.pm index 3becf12..e233894 100644 --- a/Koha/REST/V1.pm +++ b/Koha/REST/V1.pm @@ -2,10 +2,45 @@ package Koha::REST::V1; use Modern::Perl; use Mojo::Base 'Mojolicious'; +use Mojo::Log; + +=head startup + +Starts the Mojolicious application using whatever server is configured. + +Use environmental values to control some aspects of Mojolicious: +This way we can have different settings for different servers running Mojolicious. + +=head2 Configuration file + +$ENV{MOJO_CONFIG} should be set in the system service (init) starting Mojolicious, eg: +export MOJO_CONFIG=/home/koha/kohaclone/api/v1/hypnotoad.conf + +This configuration file read by the Mojolicious::Plugin::Config +http://mojolicio.us/perldoc/Mojolicious/Plugin/Config + +=head2 Logging + +Log to a filename configured in an environemnt variable $ENV{MOJO_LOGFILE} using loglevel $ENV{MOJO_LOGLEVEL}. +Defaults to '/tmp/koha-api.log' and loglevel of 'error' +Examples: +export MOJO_LOGFILE=/home/koha/koha-dev/var/log/kohaapi.mojo.log +export MOJO_LOGLEVEL=debug + +Logging is done by Mojo::Log +http://www.mojolicio.us/perldoc/Mojo/Log + +=cut sub startup { my $self = shift; + #Log to a filename with loglevel configured in environment variables + $self->app->log( Mojo::Log->new( path => ($ENV{MOJO_LOGFILE} || "/tmp/koha-api.log"), level => ($ENV{MOJO_LOGLEVEL} || 'error') ) ); + + #Enable the config-plugin. Loads the config file from $ENV{MOJO_CONFIG} by default. + $self->plugin('Config'); + my $route = $self->routes->under->to( cb => sub { my $c = shift; -- 1.7.9.5