Delivered-To: urba-cgu@urbanet.ch Mailing-List: contact log4j-dev-help@jakarta.apache.org; run by ezmlm List-Post: List-Help: List-Unsubscribe: List-Subscribe: Reply-To: "LOG4J Developers Mailing List" Delivered-To: mailing list log4j-dev@jakarta.apache.org From: Kitching Simon To: "'log4j-dev@jakarta.apache.org'" Subject: PATCH: New classes: DatagramStreamAppender & friends Date: Wed, 7 Feb 2001 12:41:54 +0100 X-Mailer: Internet Mail Service (5.5.2650.21) X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N Hi log4j developers.... Here, for your consideration, is a set of files that implement an Appender which sends messages to a remote host/port via UDP (datagram). There was brief discussion of this Appender on the log4j-user group, about a week ago. Ceki suggested that the Appender send serialized log event objects over UDP; while this approach has a number of advantages, I have decided to instead perform the message formatting at the client end, mainly so that: (a) the UDP server application does not have to be in java (b) non-java clients can send messages to the same UDP server. The appender has been named "DatagramStringAppender" to allow someone to write a serialization-based version at some later time, if desired, without any name confusion. ------------------------------ Notes: DatagramStringAppender is based on SyslogAppender, but with a fair number of changes. DatagramStringWriter is based on SyslogWriter, with a few changes. In particular, it takes an "encoding" parameter, so that the character encoding used can be specified, and a "port". SingleLineTracerPrintWriter is almost identical to SyslogTracerPrintWriter; just the name & some comments have changed. [I didn't want to call a class called SyslogXXX from the DatagramStreamAppender classes] ------------------------------ If this patch is accepted, then it may be worth rewriting SyslogAppender to use the DatagramStringWriter and SingleLineTracerPrintWriter classes. These classes should be compatible with SyslogAppender, as they implement the same functionality, or a superset of the Syslog functionality, and have more "general" names. ------------------------------ <> <> <> -------------------------------- And here's a simple perl UDP server, and an xml config file for testing the appender. <> <> Regards, Simon