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
.