Syslog4j provides Java components for client and server implementations of the syslog protocol (RFC 3164). UDP/IP, TCP/IP, TCP/IP over SSL/TLS, Unix Syslog, and Unix Socket Logging are supported. Advanced options are provided, including cryptographic message signatures and hashes. It is heavily tested with JUnit and Emma code coverage.