上篇文章中讲到了基于 logback 的配置。这里补充 Log4J 的配置及其对应的 Logstash 收集端的配置。
log4j.properties 配置
添加一个appender
,把日志发送到远端地址:1
2
3
4
5
6
7# Logstash appender
log4j.appender.logstash=org.apache.log4j.net.SocketAppender
log4j.appender.logstash.RemoteHost=IP地址
log4j.appender.logstash.port=端口
log4j.appender.logstash.Threshold=INFO
log4j.appender.logstash.ReconnectionDelay=10000
log4j.appender.logstash.LocationInfo=true
把这个 appender
添加到 rootLogger
中:1
log4j.rootLogger=logstash
Logstash 配置
修改 Logstash 收集端的配置文件,输入端使用 log4j 插件:1
2
3
4
5
6
7
8
9
10
11
12
13
14input {
log4j {
mode => "server"
host => "上述log4j的IP地址"
port => 上述log4j的端口
}
}
output {
elasticsearch {
hosts => "ES的IP地址:端口"
index => "logstash-test"
}
stdout {}
}
PS:如果使用Log4J
,就不需要logback
了,两者取其一即可。