2016-08-23 4 views
2

私は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エラーをスローします。

は、私は私がAsyncAppenderSocketAppenderをラップする必要があるかもしれないと思われ、このANに見て、指しlogStash SocketAppenderthis documentationのように)が、その後、私は例外を取得するプロパティが存在しないことを私に向けたrefました: appender.async.type =非同期 appender.async.ref = logStash#OR 'レフリー'、 'アペンダ-REF' など

.propertiesファイルではありません非同期ソケットアペンダのために行く方法ですか?このプロパティファイルを使用してLog4j 1から2に移行する際に助けてもらえます。

+0

これは既知の問題であるようです。おそらくlogstash-log4j2を新しいリリースに更新する必要があります。このリンクに従ってください:https://github.com/jurmous/logstash-log4j2/issues/3。 – asch

+0

それだけです。それを回答として投稿しても構いませんが、私はそれを受け入れることができます。 – Igor

+0

私は答えを編集しました。 – asch

答えて

2

logstash-log4j2の古いリリースでは問題があります。リリース3.2で修正されました。このより新しいリリースは、linkから取られます。

また、アペンダ名はSocketAppenderしかしソケットではありません - それはlog4j2.xmlに名前ソケットを使用していますdocumentation example、に応じて次のとおりです。

<Appenders> 
    <Socket name="socket" host="localhost" port="9500"> 
     <SerializedLayout /> 
    </Socket> 
</Appenders> 

私はあなたが変更する必要がありますと仮定あなたはそれに応じてlog4j2.properties:

appender.logstash.type=Socket 
appender.logstash.name=logStash 
appender.logstash.layout.type=PatternLayout 
... 

私は-N」これは習慣の問題であることを知っていて、 ot-change-the-working-code "アプローチを採用していますが、ドキュメンテーションの例の多くがlog4j2を使用しているので、log4j2への移行中にXML構成フォーマットに移行する価値があります。

+0

私はそれを試しましたが、まだ運はありません: - あなたはXMLへの移行についてのポイントを持っていると思います。 – Igor

+0

XMLのやり方にも問題はありません。 – Igor

関連する問題