Hi All,
I'm using log4j2 since beta4, now beta5. In general it's a cute library, but there's some bug that I've found out recently : When a client code genreates a huge message ( 64k ), the underlying DatagramOutputStream fails ( UDP socket throws exception). After that all following flushes fail because data buffer is not cleared upon exception. So in lines DatagramOutputStream:91 ---------------------------------------------------------------------- public synchronized void flush() throws IOException { if (this.data != null && this.ds != null && this.address != null) { final DatagramPacket packet = new DatagramPacket(data, data.length, address, port); ds.send(packet); } data = null; } -------------------------------------------------------------------------- data = null should be put in finally block or some simillar solution could be applied. What do you think ? Regards, Tomek Moreover DatagramOutputStream should check if message size is less then 64k .