私はSpring BootアプリケーションをLog4jからLog4j 2に移行しようとしています。私はLog4j 2が元のLog4jから.properties
の設定を変更したことを理解しています。ここでLogStart Log4jの設定をLog4j2にアップグレードする
は、私のオリジナルのLog4jの設定の抜粋です:
log4j.appender.logstash=org.apache.log4j.net.SocketAppender
log4j.appender.logstash.layout=org.apache.log4j.PatternLayout
log4j.appender.logstash.layout.ConversionPattern=%d{HH:mm:ss.SSS} %-5p %c {2} %x - %m%n
log4j.appender.logstash.Port=4560
log4j.appender.logstash.RemoteHost=logs.example.com
log4j.appender.logstash.ReconnectionDelay=10000
、ここでは、Log4jの2のために、私はそれを更新するものである:
appender.logstash.type=SocketAppender # Or 'Socket'
appender.logstash.name=logStash
appender.logstash.layout.type=PatternLayout
appender.logstash.layout.pattern=%d{HH:mm:ss.SSS} %-5p %c {2} %x - %m%n
appender.logstash.host=logs.example.com
appender.logstash.port=4560
appender.logstash.reconnectionDelayMillis=10000
しかし、私はこれを行うとき、私のコンソールファイルアペンダーは正常に動作しますが、LogStashアペンダーはBroken pipe
エラーをスローします。
は、私は私がAsyncAppender
でSocketAppender
をラップする必要があるかもしれないと思われ、このANに見て、指しlogStash SocketAppender
(this documentationのように)が、その後、私は例外を取得するプロパティが存在しないことを私に向けたref
ました: appender.async.type =非同期 appender.async.ref = logStash#OR 'レフリー'、 'アペンダ-REF' など
は.properties
ファイルではありません非同期ソケットアペンダのために行く方法ですか?このプロパティファイルを使用してLog4j 1から2に移行する際に助けてもらえます。
これは既知の問題であるようです。おそらくlogstash-log4j2を新しいリリースに更新する必要があります。このリンクに従ってください:https://github.com/jurmous/logstash-log4j2/issues/3。 – asch
それだけです。それを回答として投稿しても構いませんが、私はそれを受け入れることができます。 – Igor
私は答えを編集しました。 – asch