]> git.donarmstrong.com Git - infobot.git/blobdiff - src/logger.pl
quotemeta in debug, error, and warn
[infobot.git] / src / logger.pl
index e23e69d380d6fe65b00ec177b635b0ef2d27fe60..66c925a6c3f333d01df15d33d28af8cb4d091b27 100644 (file)
@@ -7,6 +7,7 @@
 #
 
 use strict;
+use utf8;
 
 use vars qw($statcount $bot_pid $forkedtime $statcountfix $addressed);
 use vars qw($logDate $logold $logcount $logtime $logrepeat $running);
@@ -91,6 +92,7 @@ sub cl {
 
 # logging support.
 sub openLog {
+    binmode( STDOUT, ':encoding(UTF-8)' );
     return unless ( &IsParam('logfile') );
     $file{log} = $param{'logfile'};
 
@@ -170,15 +172,15 @@ sub compress {
 
 sub DEBUG {
     return unless ( &IsParam('DEBUG') );
-    my (undef,undef,$line,$subroutine,undef) = caller(0);
+    my (undef,undef,$line,$subroutine,undef) = caller(1);
 
-    &status("${b_green}!DEBUG!$ob ".$subroutine.'['.$line."] $_[0]");
+    &status("${b_green}!DEBUG!$ob ".$subroutine.'['.$line."] ".quotemeta($_[0]));
 }
 
 sub ERROR {
-    my (undef,undef,$line,$subroutine,undef) = caller(0);
+    my (undef,undef,$line,$subroutine,undef) = caller(1);
 
-    &status("${b_red}!ERROR!$ob ".$subroutine.'['.$line."] $_[0]");
+    &status("${b_red}!ERROR!$ob ".$subroutine.'['.$line."] ".quotemeta($_[0]));
 }
 
 sub WARN {
@@ -186,21 +188,21 @@ sub WARN {
 
     return if ( $_[0] =~ /^PERL: Subroutine \S+ redefined at/ );
 
-    my ($package,$filename,$line,$subroutine,undef) = caller(0);
+    my ($package,$filename,$line,$subroutine,undef) = caller(1);
 
-    &status("${b_yellow}!WARN!$ob ".$subroutine.'['.$line."] $_[0]");
+    &status("${b_yellow}!WARN!$ob ".$subroutine.'['.$line."] ".quotemeta($_[0]));
 }
 
 sub FIXME {
-    my ($package,$filename,$line,$subroutine,undef) = caller(0);
+    my ($package,$filename,$line,$subroutine,undef) = caller(1);
 
-    &status("${b_cyan}!FIXME!$ob ".$subroutine.'['.$line."] $_[0]");
+    &status("${b_cyan}!FIXME!$ob ".$subroutine.'['.$line."] ".quotemeta($_[0]));
 }
 
 sub TODO {
-    my ($package,$filename,$line,$subroutine,undef) = caller(0);
+    my ($package,$filename,$line,$subroutine,undef) = caller(1);
 
-    &status("${b_cyan}!TODO!$ob ".$subroutine.'['.$line."] $_[0]");
+    &status("${b_cyan}!TODO!$ob ".$subroutine.'['.$line."] ".quotemeta($_[0]));
 }
 
 sub VERB {