truncate messages more to prevent syslog overflow errors
authorerickson <erickson@9efc2488-bf62-4759-914b-345cdb29e865>
Sun, 20 Aug 2006 15:58:43 +0000 (15:58 +0000)
committererickson <erickson@9efc2488-bf62-4759-914b-345cdb29e865>
Sun, 20 Aug 2006 15:58:43 +0000 (15:58 +0000)
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@762 9efc2488-bf62-4759-914b-345cdb29e865

src/perlmods/OpenSRF/Utils/Logger.pm
src/utils/log.c

index 7db43a0..69d79d2 100644 (file)
@@ -208,7 +208,7 @@ sub _log_message {
 
        $msg = "[$n:"."$$".":::] $msg";
 
-       $msg = substr($msg, 0, 2000); 
+       $msg = substr($msg, 0, 1536); 
 
        if( $level == ACTIVITY() ) {
                if( is_act_syslog() ) { syslog( $fac | $l, $msg ); } 
index 8f3c2fc..7e2959f 100644 (file)
@@ -124,8 +124,16 @@ void _osrfLogDetail( int level, const char* filename, int line, char* msg ) {
                        break;
        }
 
-       if(__osrfLogType == OSRF_LOG_TYPE_SYSLOG )
-               syslog( fac | lvl, "[%s:%d:%s:%d] %s", l, getpid(), filename, line, msg );
+       if(__osrfLogType == OSRF_LOG_TYPE_SYSLOG ) {
+               char buf[1536];  
+               /* give syslog some breathing room, and be cute about it */
+               strncat(buf, msg, 1535);
+               buf[1532] = '.';
+               buf[1533] = '.';
+               buf[1534] = '.';
+               buf[1535] = '\0';
+               syslog( fac | lvl, "[%s:%d:%s:%d] %s", l, getpid(), filename, line, buf );
+       }
 
        else if( __osrfLogType == OSRF_LOG_TYPE_FILE )
                _osrfLogToFile("[%s:%d:%s:%d] %s", l, getpid(), filename, line, msg );