Bug 16436 - Allow action logs to be logged to the koha log file
Test Plan:
1) Ensure that your Koha::Logger configuration is in good working order
2) Apply this patch
3) Modify the first line of your log4perl.conf file from:
log4perl.logger.intranet = WARN, INTRANET
to
log4perl.logger.intranet = INFO, INTRANET
4) Change a system preference setting
5) Note the new line in your log file!
Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit ce8c55fba0)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
This commit is contained in:
parent
32833f95db
commit
70f48519f0
39
C4/Log.pm
39
C4/Log.pm
|
|
@ -24,8 +24,11 @@ package C4::Log;
|
|||
use strict;
|
||||
use warnings;
|
||||
|
||||
use JSON qw( to_json );
|
||||
|
||||
use C4::Context;
|
||||
use Koha::DateUtils;
|
||||
use Koha::Logger;
|
||||
|
||||
use vars qw(@ISA @EXPORT);
|
||||
|
||||
|
|
@ -77,6 +80,26 @@ sub logaction {
|
|||
my $sth=$dbh->prepare("Insert into action_logs (timestamp,user,module,action,object,info) values (now(),?,?,?,?,?)");
|
||||
$sth->execute($usernumber,$modulename,$actionname,$objectnumber,$infos);
|
||||
$sth->finish;
|
||||
|
||||
my $logger = Koha::Logger->get(
|
||||
{
|
||||
interface => 'intranet',
|
||||
category => "ActionLogs.$modulename.$actionname"
|
||||
}
|
||||
);
|
||||
$logger->info(
|
||||
sub {
|
||||
"ACTION LOG: " . to_json(
|
||||
{
|
||||
user => $usernumber,
|
||||
module => $modulename,
|
||||
action => $actionname,
|
||||
object => $objectnumber,
|
||||
info => $infos
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
=item cronlogaction
|
||||
|
|
@ -144,10 +167,10 @@ sub displaylog {
|
|||
SELECT action_logs.timestamp, action_logs.action, action_logs.info,
|
||||
borrowers.cardnumber, borrowers.surname, borrowers.firstname, borrowers.userid,
|
||||
biblio.biblionumber, biblio.title, biblio.author
|
||||
FROM action_logs
|
||||
LEFT JOIN borrowers ON borrowers.borrowernumber=action_logs.user
|
||||
FROM action_logs
|
||||
LEFT JOIN borrowers ON borrowers.borrowernumber=action_logs.user
|
||||
LEFT JOIN biblio ON action_logs.object=biblio.biblionumber
|
||||
WHERE action_logs.module = 'cataloguing'
|
||||
WHERE action_logs.module = 'cataloguing'
|
||||
|;
|
||||
my %filtermap = ();
|
||||
if ($modulename eq "catalogue" or $modulename eq "acqui") {
|
||||
|
|
@ -158,13 +181,13 @@ sub displaylog {
|
|||
);
|
||||
} elsif ($modulename eq "members") {
|
||||
$strsth=qq|
|
||||
SELECT action_logs.timestamp, action_logs.action, action_logs.info,
|
||||
SELECT action_logs.timestamp, action_logs.action, action_logs.info,
|
||||
borrowers.cardnumber, borrowers.surname, borrowers.firstname, borrowers.userid,
|
||||
bor2.cardnumber, bor2.surname, bor2.firstname, bor2.userid
|
||||
FROM action_logs
|
||||
LEFT JOIN borrowers ON borrowers.borrowernumber=action_logs.user
|
||||
FROM action_logs
|
||||
LEFT JOIN borrowers ON borrowers.borrowernumber=action_logs.user
|
||||
LEFT JOIN borrowers as bor2 ON action_logs.object=bor2.borrowernumber
|
||||
WHERE action_logs.module = 'members'
|
||||
WHERE action_logs.module = 'members'
|
||||
|;
|
||||
%filtermap = (
|
||||
user => 'borrowers.surname',
|
||||
|
|
@ -204,7 +227,7 @@ sub displaylog {
|
|||
|
||||
$logs = GetLogs($datefrom,$dateto,$user,\@modules,$action,$object,$info);
|
||||
|
||||
Return:
|
||||
Return:
|
||||
C<$logs> is a ref to a hash which containts all columns from action_logs
|
||||
|
||||
=cut
|
||||
|
|
|
|||
Loading…
Reference in New Issue