From: Kyle M Hall <k...@bywatersolutions.com>

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 <srd...@catalyst.net.nz>
---
 C4/Log.pm | 39 +++++++++++++++++++++++++++++++--------
 1 file changed, 31 insertions(+), 8 deletions(-)

diff --git a/C4/Log.pm b/C4/Log.pm
index de5f1d0..cff1e6f 100644
--- a/C4/Log.pm
+++ b/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
-- 
2.7.4
_______________________________________________
Koha-patches mailing list
Koha-patches@lists.koha-community.org
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to