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 [EMAIL PROTECTED]
  
  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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to