使用log4j输出日志到rsyslog日志服务器

好处是可以将不同应用或者同一应用的多个集群服务器的日志发送到同一台日志服务器(此处用的是ubuntu10.04)。

1,开通rsyslog远程UDP访问

sudo vi /etc/rsyslog.conf

将下面两段前面的#号去掉

#$ModLoad imudp
#$UDPServerRun 514

2,建立存放log的文件地址

sudo vi /etc/rsyslog.conf

加入以下两段

local2.info       /var/log/login_info.log
local2.debug       /var/log/login_debug.log

3,开通防火墙使用下面的命令将UDP端口514对外开放出来

sudo ufw allow 514/udp

4,重启rsyslog

sudo service rsyslog restart

5,log4j的配置参考

log4j.rootLogger=debug, SYSLOG

log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG.syslogHost=10.0.40.53  #日志服务器地址
log4j.appender.syslog.Threshold=DEBUG
log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
log4j.appender.SYSLOG.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.appender.SYSLOG.Header=true  #打印日志信息时前面带上应用程序所在服务器的信息
log4j.appender.SYSLOG.Facility=local2

6,运行应用程序,可以在/var/log下看到不同级别的日志信息,如login_info.log和login_debug.log

相关推荐