ตัวต่อท้าย Syslog สำหรับ logback พร้อมรองรับ RFC-5424 เต็มรูปแบบ
โปรแกรมแก้ไข Logback ที่ใช้ประโยชน์จาก [syslog4j] เพื่อส่งข้อความบันทึกไปยังระบบระยะไกลผ่าน syslog ที่เข้ากันได้กับรูปแบบ RFC-5424
appender syslog ที่มีอยู่สำหรับ Logback ให้ความสามารถในการส่งข้อความผ่าน UDP เท่านั้น การใช้ syslog-java-client ช่วยให้เราสามารถส่งข้อความผ่าน TCP และอาจเข้ารหัสข้อความเหล่านั้นด้วยการส่งผ่าน TCP ด้วย TLS ไลบรารีนี้ยังดูแลการเพิ่มความยาวของข้อความตาม RFC-5424 ดังนั้นบรรทัดบันทึกที่มีบรรทัดใหม่จึงทำงานได้อย่างถูกต้อง
ตั้งค่าโดยใช้ https://bintray.com/serioussam/oss/com.github.serioussam%3Asyslogappender เพิ่มสิ่งนี้ลงใน pom.xml
ของคุณ :
< dependency >
< groupId >com.github.serioussam</ groupId >
< artifactId >syslogappender</ artifactId >
< version >1.0.0</ version >
</ dependency >
จากนั้นเพิ่ม appender ใน logback.xml
ของคุณ
หากไม่ได้ใช้ Maven ให้ดาวน์โหลด [logback-syslog4j-1.0.0.jar][] และ [syslog4j][] JAR ล่าสุด วางไฟล์เหล่านี้ใน classpath นอกเหนือจาก Logback เอง
< 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 >