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 sd...@apache.org on 2005/02/08 15:31:35 UTC
cvs commit: logging-log4j/src/java/org/apache/log4j/net MulticastAppender.java UDPAppender.java
sdeboy 2005/02/08 06:31:35
Modified: src/java/org/apache/log4j/net MulticastAppender.java
UDPAppender.java
Log:
Applied patch to correct UDPAppender (and MulticastAppender) encoding bug, contributed by heikki.linnakangas@iki.fi
Revision Changes Path
1.10 +9 -5 logging-log4j/src/java/org/apache/log4j/net/MulticastAppender.java
Index: MulticastAppender.java
===================================================================
RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/net/MulticastAppender.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- MulticastAppender.java 6 Jan 2005 17:03:11 -0000 1.9
+++ MulticastAppender.java 8 Feb 2005 14:31:35 -0000 1.10
@@ -170,13 +170,17 @@
}
try {
- StringBuffer buf=new StringBuffer(layout.format(event).trim());
- if (buf.length() < PACKET_LENGTH) {
- buf.append(new char[PACKET_LENGTH - buf.length()]);
+ StringBuffer buf = new StringBuffer(layout.format(event));
+
+ byte[] payload;
+ if(encoding == null) {
+ payload = buf.toString().getBytes();
+ } else {
+ payload = buf.toString().getBytes(encoding);
}
- //the implementation of string.getBytes accepts a null encoding and uses the system charset
+
DatagramPacket dp =
- new DatagramPacket(buf.toString().getBytes(encoding), buf.length(), address, port);
+ new DatagramPacket(payload, payload.length, address, port);
outSocket.send(dp);
//remove these properties, in case other appenders need to set them to different values
event.setProperty(Constants.HOSTNAME_KEY, null);
1.11 +8 -2 logging-log4j/src/java/org/apache/log4j/net/UDPAppender.java
Index: UDPAppender.java
===================================================================
RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/net/UDPAppender.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- UDPAppender.java 6 Jan 2005 17:03:11 -0000 1.10
+++ UDPAppender.java 8 Feb 2005 14:31:35 -0000 1.11
@@ -204,9 +204,15 @@
// TODO UDPAppender throws NullPointerException if the layout is not set
StringBuffer buf = new StringBuffer(layout.format(event));
- //the implementation of string.getBytes accepts a null encoding and uses the system charset
+ byte[] payload;
+ if(encoding == null) {
+ payload = buf.toString().getBytes();
+ } else {
+ payload = buf.toString().getBytes(encoding);
+ }
+
DatagramPacket dp =
- new DatagramPacket(buf.toString().getBytes(encoding), buf.length(), address, port);
+ new DatagramPacket(payload, payload.length, address, port);
outSocket.send(dp);
//remove these properties, in case other appenders need to set them to different values
event.setProperty(Constants.HOSTNAME_KEY, null);
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org