escaping embedded %'s so syslog won't barf
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 14 Dec 2005 18:25:23 +0000 (18:25 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 14 Dec 2005 18:25:23 +0000 (18:25 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@2379 dcc99617-32d9-48b4-a31d-7c20da2025e4

OpenSRF/src/perlmods/OpenSRF/Utils/Logger.pm

index dcc0c58..53e2990 100644 (file)
@@ -203,14 +203,17 @@ sub _log_message {
 
        #my( $pack, $file, $line_no ) = @caller;
 
+       # help syslog with the formatting
+       $msg =~ s/\%/\%\%/gso if( is_act_syslog() or is_syslog() );
+
        $msg = "[$n:"."$$".":::] $msg";
 
        if( $level == ACTIVITY() ) {
-               if( is_act_syslog() ) { syslog( $fac | $l, substr($msg,0,100) ); } 
+               if( is_act_syslog() ) { syslog( $fac | $l, $msg ); } 
                elsif( is_act_filelog() ) { _write_file( $msg, 1 ); }
 
        } else {
-               if( is_syslog() ) { syslog( $fac | $l, substr($msg,0,100) ); }
+               if( is_syslog() ) { syslog( $fac | $l, $msg ); }
                elsif( is_filelog() ) { _write_file($msg); }
        }
 }