上篇文章中讲到了基于 logback 的配置。这里补充 Log4J 的配置及其对应的 Logstash 收集端的配置。

log4j.properties 配置

添加一个appender,把日志发送到远端地址:

1# Logstash appender
2log4j.appender.logstash=org.apache.log4j.net.SocketAppender  
3log4j.appender.logstash.RemoteHost=IP地址
4log4j.appender.logstash.port=端口
5log4j.appender.logstash.Threshold=INFO
6log4j.appender.logstash.ReconnectionDelay=10000
7log4j.appender.logstash.LocationInfo=true

把这个 appender 添加到 rootLogger 中:

1log4j.rootLogger=logstash

Logstash 配置

修改 Logstash 收集端的配置文件,输入端使用 log4j 插件:

 1input {
 2 log4j {
 3        mode => "server"
 4        host => "上述log4j的IP地址"
 5        port => 上述log4j的端口
 6    }
 7}
 8output {
 9    elasticsearch {
10        hosts => "ES的IP地址:端口"
11        index => "logstash-test"
12    }
13  stdout {}
14}

PS:如果使用Log4J,就不需要logback了,两者取其一即可。