spring boot - Upgrading LogStash Log4j configuration to Log4j2 -
i trying migrate spring boot app log4j log4j 2. understand log4j 2 changed syntax of .properties
configurations original log4j.
here snippet of original log4j configuration:
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
and here updated to, 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
however, when this, console , file appenders work fine, logstash appender throws broken pipe
error.
i've looked seems may need wrap socketappender
in asyncappender
, pointing ref
towards logstash socketappender
(as in this documentation), exceptions properties not exist: appender.async.type=async appender.async.ref=logstash # or 'refs', 'appender-ref', etc.
is .properties
file not way go async socket appenders? use in migrating log4j 1 2 via properties file.
there problem in older releases of logstash-log4j2. fixed in release 3.2. newer release may taken link.
besides, appender name not socketappender socket - according documentation example, uses name socket in log4j2.xml:
<appenders> <socket name="socket" host="localhost" port="9500"> <serializedlayout /> </socket> </appenders>
i suppose should change log4j2.properties accordingly:
appender.logstash.type=socket appender.logstash.name=logstash appender.logstash.layout.type=patternlayout ...
i know matter of habit , "do-not-change-the-working-code" approach may worth move xml configuration format while migrating log4j2, since vast of examples in documentation using it.
Comments
Post a Comment