Java günlüklerini JSON biçimindeki Syslog dosyasına kaydetmeye çalışıyorum ancak Syslog başlığının beklendiği gibi ayarlanmadığı garip bir sorunla karşılaştım.logback loger kodlayıcı günlüğü Syslog başlığı ayarlanmadı
Bir Mac üzerinde bu test ve onlar (geri döngü arayüzü üzerinden) UDP 514 portuna gönderilen kurtulmaz paketleri
Benim logback.xml aşağıdaki gibidir kapmak için wireshark kullanıyorum:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<conversionRule conversionWord="syslogStart" converterClass="ch.qos.logback.classic.pattern.SyslogStartConverter"/>
<appender name="stash" class="net.logstash.logback.appender.LogstashSocketAppender">
<host>localhost</host>
<port>514</port>
<prefix class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%syslogStart{LOCAL5}</pattern>
</layout>
</prefix>
</appender>
<root level="INFO">
<appender-ref ref="stash"/>
</root>
</configuration>
ve ben wireshark çıkışında baktığınızda sadece JSON (bkz verilen hiçbir PRI başlık alanı)
[truncated]Syslog message: (unknown): {"@timestamp":"2016-03-22T12:13:37.270+11:00","@version":1,"message":"Started App in 4.327 seconds (JVM running for 4.92)","logger_name":"au.com.xxx.App","threa
Ben standart logback Günlüğü appender geçerseniz (non JSON Login çıkış) Doğru başlık tesis ham değeri < 174> bkz yapmak ve değerler syslog Konfigürasyon (günlüğü başlık gereklidir Wireshark paketlerinin
Syslog message: LOCAL5.INFO: Mar 22 12:31:03 sbmelmac-06390.local INFO App au.com.App Started App in 11.292 seconds (JVM running for 29.336)
içinde LOCAL5.INFO ayrıştırıldı
...
<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
<syslogHost>127.0.0.1</syslogHost>
<Facility>LOCAL5</Facility>
<SuffixPattern>%-5level MyApp %logger %msg</SuffixPattern>
</appender>
...
) için günlük mesajlarını doğru dosyalara yönlendirin, bu sayede tesis filtrelerine dayalı olarak günlük girişlerini filtreleyemiyorum.
I (logback 1.1.3 kullanır) SpringBoot (1.2.7), apache deve (2.16.1) ve logstash-logback-kodlayıcı kullanıyorum (4.6)
ben hata ayıklama koşmak o SyslogStartConverter.convert yöntemi hiç çağrılmadı gibi görünüyor. başın bir sürü sonra Alkış Roy