Appender Syslog pour la connexion avec prise en charge complète de la RFC-5424
Un appender Logback qui exploite [syslog4j][] pour envoyer des messages de journal aux systèmes distants via syslog compatible avec le format RFC-5424.
L'appender syslog existant pour Logback offre uniquement la possibilité d'envoyer des messages via UDP. L'utilisation de syslog-java-client nous permet d'envoyer des messages via TCP et éventuellement de les chiffrer en les envoyant via TCP avec TLS. Cette bibliothèque prend également en charge l'ajout de la longueur des messages conformément à la RFC-5424 afin que les lignes de journal contenant de nouvelles lignes fonctionnent correctement.
Configuration à l'aide de https://bintray.com/serioussam/oss/com.github.serioussam%3Asyslogappender Ajoutez ceci à votre pom.xml
:
< dependency >
< groupId >com.github.serioussam</ groupId >
< artifactId >syslogappender</ artifactId >
< version >1.0.0</ version >
</ dependency >
Ajoutez ensuite l'appender à votre logback.xml
.
Si vous n'utilisez pas Maven, téléchargez [logback-syslog4j-1.0.0.jar][] et le dernier [syslog4j][] JAR. Placez ces fichiers dans le chemin de classe, en plus de Logback lui-même.
< 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 >