Syslog-Appender für die Protokollierung mit vollständiger RFC-5424-Unterstützung
Ein Logback-Appender, der [syslog4j][] nutzt, um Protokollnachrichten über Syslog an Remote-Systeme zu senden, das mit dem RFC-5424-Format kompatibel ist.
Der vorhandene Syslog-Appender für Logback bietet nur die Möglichkeit, Nachrichten über UDP zu senden. Die Verwendung von syslog-java-client ermöglicht es uns, Nachrichten über TCP zu senden und diese optional durch Senden über TCP mit TLS zu verschlüsseln. Diese Bibliothek sorgt auch dafür, dass die Nachrichtenlänge gemäß RFC-5424 hinzugefügt wird, sodass Protokollzeilen mit neuen Zeilen ordnungsgemäß funktionieren.
Einrichtung mit https://bintray.com/serioussam/oss/com.github.serioussam%3Asyslogappender Fügen Sie dies zu Ihrer pom.xml
hinzu:
< dependency >
< groupId >com.github.serioussam</ groupId >
< artifactId >syslogappender</ artifactId >
< version >1.0.0</ version >
</ dependency >
Fügen Sie dann den Appender zu Ihrer logback.xml
hinzu.
Wenn Sie Maven nicht verwenden, laden Sie [logback-syslog4j-1.0.0.jar][] und das neueste [syslog4j][] JAR herunter. Platzieren Sie diese Dateien zusätzlich zu Logback selbst im Klassenpfad.
< appender name = " SYSLOG-TLS " class = " com.github.serioussam.syslogappender.SyslogAppender " >
< layout class = " ch.qos.logback.classic.PatternLayout " >
< pattern >%date %-5level %logger{35} - %message%n</ pattern >
</ layout >
< syslogConfig class = " SyslogConfig " >
<!-- remote system to log to -->
< host >localhost</ host >
<!-- remote port to log to -->
< port >514</ port >
<!-- program name to log as -->
< programName >java-app</ programName >
<!-- protocol TCP_TLS -->
< protocol >TCP_TLS</ protocol >
</ syslogConfig >
</ appender >
< root level = " DEBUG " >
< appender-ref ref = " SYSLOG-TLS " />
</ root >
< appender name = " SYSLOG-TCP " class = " com.github.serioussam.syslogappender.SyslogAppender " >
< layout class = " ch.qos.logback.classic.PatternLayout " >
< pattern >%date %-5level %logger{35} - %message%n</ pattern >
</ layout >
< syslogConfig class = " SyslogConfig " >
<!-- remote system to log to -->
< host >localhost</ host >
<!-- remote port to log to -->
< port >514</ port >
<!-- program name to log as -->
< programName >java-app</ programName >
<!-- protocol TCP -->
< protocol >TCP</ protocol >
</ syslogConfig >
</ appender >
< root level = " DEBUG " >
< appender-ref ref = " SYSLOG-TCP " />
</ root >
< appender name = " SYSLOG-UDP " class = " com.github.serioussam.syslogappender.SyslogAppender " >
< layout class = " ch.qos.logback.classic.PatternLayout " >
< pattern >%date %-5level %logger{35} - %message%n</ pattern >
</ layout >
< syslogConfig class = " SyslogConfig " >
<!-- remote system to log to -->
< host >localhost</ host >
<!-- remote port to log to -->
< port >514</ port >
<!-- program name to log as -->
< programName >java-app</ programName >
<!-- protocol UDP -->
< protocol >UDP</ protocol >
</ syslogConfig >
</ appender >
< root level = " DEBUG " >
< appender-ref ref = " SYSLOG-UDP " />
</ root >