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