@@ -, +, @@ to match your current error logs /path/to/log4perl.conf line in the log file for both the staff and opac sides --- C4/Circulation.pm | 8 ++++- C4/Installer/PerlDependencies.pm | 5 +++ Koha/Logger.pm | 75 ++++++++++++++++++++++++++++++++++++++ etc/koha-conf.xml | 1 + etc/log4perl.conf | 13 +++++++ svc/renew | 2 + 6 files changed, 103 insertions(+), 1 deletions(-) create mode 100644 Koha/Logger.pm create mode 100644 etc/log4perl.conf --- a/C4/Circulation.pm +++ a/C4/Circulation.pm @@ -50,6 +50,7 @@ use Koha::DateUtils; use Koha::Calendar; use Koha::Borrower::Debarments; use Koha::Database; +use Koha::Logger; use Carp; use List::MoreUtils qw( uniq ); use Date::Calc qw( @@ -2787,6 +2788,9 @@ sub AddRenewal { my $datedue = shift; my $lastreneweddate = shift || DateTime->now(time_zone => C4::Context->tz)->ymd(); + my $logger = Koha::Logger->get("C4::Circulation::AddRenewal"); + $logger->trace( "PARAMS: " . Dumper( { borrowernumber => $borrowernumber, itemnumber => $itemnumber, branch => $branch, datedue => $datedue, lastreneweddate => $lastreneweddate } ) ); + my $item = GetItem($itemnumber) or return; my $biblio = GetBiblioFromItemNumber($itemnumber) or return; @@ -2892,7 +2896,9 @@ sub AddRenewal { borrowernumber => $borrowernumber, ccode => $item->{'ccode'}} ); - return $datedue; + + $logger->trace("RETURNING $datedue"); + return $datedue; } sub GetRenewCount { --- a/C4/Installer/PerlDependencies.pm +++ a/C4/Installer/PerlDependencies.pm @@ -732,6 +732,11 @@ our $PERL_DEPS = { 'required' => '0', 'min_ver' => '0.31', }, + 'Log::Log4perl' => { + 'usage' => 'Core', + 'required' => '1', + 'min_ver' => '1.29', + }, }; 1; --- a/Koha/Logger.pm +++ a/Koha/Logger.pm @@ -0,0 +1,75 @@ +package Koha::Logger; + +# Copyright 2015 ByWater Solutions +# kyle@bywatersolutions.com +# +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 3 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +=head1 NAME + +Koha::Log + +=head1 SYNOPSIS + + use Koha::Log; + +=head1 FUNCTIONS + +=cut + +use Modern::Perl; + +use Log::Log4perl; +use Carp; + +use C4::Context; + +BEGIN { + Log::Log4perl->wrapper_register(__PACKAGE__); + + my $conf; + if ( exists $ENV{"LOG4PERL_CONF"} and $ENV{'LOG4PERL_CONF'} and -s $ENV{"LOG4PERL_CONF"} ) { + + # Check for web server level configuration first + $conf = $ENV{"LOG4PERL_CONF"}; + } + else { + # If no web server level config exists, look in the koha conf file for one + $conf = C4::Context->config("log4perl_conf"); + } + + Log::Log4perl->init_once($conf); +} + +sub get { + my ( $class, $category ) = @_; + + croak("No category passed in!") unless $category; + + my $interface = C4::Context->interface(); + + return Log::Log4perl->get_logger("$interface.$category"); +} + +=head1 AUTHOR + +Kyle M Hall, Ekyle@bywatersolutions.comE + +=cut + +1; + +__END__ --- a/etc/koha-conf.xml +++ a/etc/koha-conf.xml @@ -114,6 +114,7 @@ __PAZPAR2_TOGGLE_XML_POST__ __ZEBRA_LOCK_DIR__ 1 __KOHA_CONF_DIR__/searchengine/queryparser.yaml + __KOHA_CONF_DIR__/log4perl.conf --- a/etc/log4perl.conf +++ a/etc/log4perl.conf @@ -0,0 +1,13 @@ +log4perl.logger.intranet = DEBUG, INTRANET +log4perl.appender.INTRANET=Log::Log4perl::Appender::File +log4perl.appender.INTRANET.filename=__LOG_DIR__/intranet-error.log +log4perl.appender.INTRANET.mode=append +log4perl.appender.INTRANET.layout=PatternLayout +log4perl.appender.INTRANET.layout.ConversionPattern=[%d] [%p] %m %l %n + +log4perl.logger.opac = DEBUG, OPAC +log4perl.appender.OPAC=Log::Log4perl::Appender::File +log4perl.appender.OPAC.filename=__LOG_DIR__/opac-error.log +log4perl.appender.OPAC.mode=append +log4perl.appender.OPAC.layout=PatternLayout +log4perl.appender.OPAC.layout.ConversionPattern=[%d] [%p] %m %l %n --- a/svc/renew +++ a/svc/renew @@ -28,6 +28,8 @@ use C4::Auth qw(check_cookie_auth); use Koha::DateUtils qw(output_pref dt_from_string); +C4::Context->interface('intranet'); + my $input = new CGI; my ( $auth_status, $sessionID ) = --