Search code examples
log4jsyslog

log4j SyslogAppender - TCP support?


the current SyslogAppender in log4j uses UDP to transmit the logs to syslog server. It potentially has risks of losing data.

Is there any customized TCPsyslogappender existing already? Or the question can be asked in another way: How can we make SyslogAppender 100% immune from data loss.


Solution

  • There are various solutions.

    Note that pure TCP isn't 100% immune to data loss because it can be lost in the socket buffers. You need to use a protocol specifically designed for this: RELP, HTTP or something that replies back with an ACK to the sender.