Log4j输出日志到syslog

阅读更多
    blog迁移至: http://www.micmiu.com

本文详细讲述三种方式配置Log4j输出日志到syslog
Log4j基本配置介绍详见blog: http://sjsky.iteye.com/blog/856206

syslog三种实现方式的比较
  • Log4j自带的SyslogAppender,只能配置主机地址不能自定义端口
  • 第三方syslog4j,可以配置协议、主机地址和端口,但是一种协议只能配置一个appender实例
  • 自己实现的SyslogSunjAppender,可以同时配置主机地址和端口

[一]Log4j自带的SyslogAppender
只能配置接受syslog日志的主机地址,端口不可配置,使用默认的:514
log4j.rootLogger=INFO,syslog
log4j.appender.syslog=org.apache.log4j.net.SyslogAppender
log4j.appender.syslog.SyslogHost=192.168.8.145
log4j.appender.syslog.Facility=LOCAL1
log4j.appender.syslog.header=true
log4j.appender.syslog.Threshold=INFO
log4j.appender.syslog.layout=org.apache.log4j.PatternLayout
log4j.appender.syslog.layout.ConversionPattern=%5p | %c{1}-%M [%d{yyyy-MM-dd HH:mm:ss}] - %m%n

[二]第三方syslog4j
  • 官网介绍:http://www.syslog4j.org/
  • 提供jar包下载:syslog4j-0.9.46-bin.jar
  • 可以配置协议、主机地址和端口,但是一种协议只能配置appender实例,如果同一种协议配置多个appender,后一个会覆盖前面的配置信息。

log4j.rootLogger=INFO,syslog1
log4j.appender.syslog1=org.productivity.java.syslog4j.impl.log4j.Syslog4jAppender
log4j.appender.syslog1.Facility=LOCAL0
log4j.appender.syslog1.Protocol=udp
log4j.appender.syslog1.host=192.168.8.145
log4j.appender.syslog1.Port=1514
log4j.appender.syslog1.layout=org.apache.log4j.PatternLayout
log4j.appender.syslog1.layout.ConversionPattern=%5p | %c{1}-%M [%d{yyyy-MM-dd HH:mm:ss}] - %m%n

[三]自己实现的SyslogSunjAppender
  • 提供一个集成好的jar包下载:log4j-1.2.16_michael.jar
  • 和log4j自带的SyslogAppender相比,多了一个端口参数的配置:SyslogPort
  • SyslogSunjAppender的源代码下载:SyslogSunjAppender_src.zip

log4j.rootLogger=INFO,syslog2
log4j.appender.syslog2=com.log4j.michael.SyslogSunjAppender
log4j.appender.syslog2.SyslogHost=localhost
log4j.appender.syslog2.SyslogPort=1514
log4j.appender.syslog2.Facility=LOCAL1
log4j.appender.syslog2.header=true
log4j.appender.syslog2.Threshold=INFO
log4j.appender.syslog2.layout=org.apache.log4j.PatternLayout
log4j.appender.syslog2.layout.ConversionPattern=%5p | %c{1}-%M [%d{yyyy-MM-dd HH:mm:ss}] - %m%n


测试接收日志可以借助第三方的syslog4j-0.9.46-bin.jar
windows cmd 下可运行:
java -cp .;syslog4j-0.9.46.jar org.productivity.java.syslog4j.server.SyslogServerMain -p 1514 udp

-----------------------------------分 ------------------------------------隔 ------------------------------------线 --------------------------------------


  • syslog4j-0.9.46-bin.jar (201 KB)
  • 下载次数: 69
  • log4j-1.2.16_michael.jar (477.2 KB)
  • 下载次数: 51
  • SyslogSunjAppender_src.zip (5.6 KB)
  • 下载次数: 68

你可能感兴趣的:(Apache,log4j,企业应用,Java,syslog)