You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ca...@apache.org on 2007/04/21 17:25:44 UTC

svn commit: r531049 - /logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/net/SyslogAppender.java

Author: carnold
Date: Sat Apr 21 08:25:43 2007
New Revision: 531049

URL: http://svn.apache.org/viewvc?view=rev&rev=531049
Log:
Bug 42087: Compensated for 5 chars in PRI section on splitMessage, dropped facility on continuations

Modified:
    logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/net/SyslogAppender.java

Modified: logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/net/SyslogAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/net/SyslogAppender.java?view=diff&rev=531049&r1=531048&r2=531049
==============================================================================
--- logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/net/SyslogAppender.java (original)
+++ logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/net/SyslogAppender.java Sat Apr 21 08:25:43 2007
@@ -272,18 +272,19 @@
   }
 
 
-  private void splitPacket(final String pri, final String packet) {
+  private void splitPacket(final String header, final String packet) {
       int byteCount = packet.getBytes().length;
       //
       //   if packet is less than RFC 3164 limit
       //      of 1024 bytes, then write it
-      //
-      if (byteCount <= 1024) {
+      //      (must allow for up 5to 5 characters in the PRI section
+      //          added by SyslogQuietWriter)
+      if (byteCount <= 1019) {
           sqw.write(packet);
       } else {
-          int split = pri.length() + (packet.length() - pri.length())/2;
-          splitPacket(pri, packet.substring(0, split) + "...");
-          splitPacket(pri, pri + "..." + packet.substring(split));
+          int split = header.length() + (packet.length() - header.length())/2;
+          splitPacket(header, packet.substring(0, split) + "...");
+          splitPacket(header, header + "..." + packet.substring(split));
       }      
   }
 
@@ -308,13 +309,11 @@
     }
 
     String hdr = getPacketHeader(event.timeStamp);
-    String pri = hdr;
     String packet = layout.format(event);
     if(facilityPrinting || hdr.length() > 0) {
         StringBuffer buf = new StringBuffer(hdr);
         if(facilityPrinting) {
             buf.append(facilityStr);
-            pri = buf.toString();
         }
         buf.append(packet);
         packet = buf.toString();
@@ -325,7 +324,7 @@
     //   if message has a remote likelihood of exceeding 1024 bytes
     //      when encoded, consider splitting message into multiple packets
     if (packet.length() > 256) {
-        splitPacket(pri, packet);
+        splitPacket(hdr, packet);
     } else {
         sqw.write(packet);
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org