本文主要是介绍Log4j输出日志到syslog,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
[color=red]blog迁移至[/color]:[url=http://www.micmiu.com]http://www.micmiu.com[/url][size=large]本文详细讲述三种方式配置Log4j输出日志到syslog[/size]
Log4j基本配置介绍详见blog:[url=http://sjsky.iteye.com/blog/856206]http://sjsky.iteye.com/blog/856206[/url]
[color=blue][size=large]syslog三种实现方式的比较[/size][/color]
[list]
[*]Log4j自带的SyslogAppender,[color=red]只能配置主机地址不能自定义端口[/color]
[*]第三方syslog4j,[color=red]可以配置协议、主机地址和端口,但是一种协议只能配置一个appender实例[/color]
[*]自己实现的SyslogSunjAppender,[color=red]可以同时配置主机地址和端口[/color]
[/list]
[size=large][color=blue][一]Log4j自带的SyslogAppender[/color][/size]
只能配置接受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
[size=large][color=blue][二]第三方syslog4j[/color][/size]
[list]
[*]官网介绍:[url=http://www.syslog4j.org/]http://www.syslog4j.org/[/url]
[*]提供jar包下载:[url=http://dl.iteye.com/topics/download/1eac73f5-ed56-3dc6-a153-048bfa91e623]syslog4j-0.9.46-bin.jar[/url]
[*]可以配置协议、主机地址和端口,但是一种协议只能配置appender实例,如果同一种协议配置多个appender,后一个会覆盖前面的配置信息。
[/list]
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
[size=large][color=blue][三]自己实现的SyslogSunjAppender[/color][/size]
[list]
[*]提供一个集成好的jar包下载:[url=http://dl.iteye.com/topics/download/9e6ea7f4-1f45-35d2-af2b-5b8f78871b6b]log4j-1.2.16_michael.jar[/url]
[*]和log4j自带的SyslogAppender相比,多了一个端口参数的配置:SyslogPort
[*]SyslogSunjAppender的源代码下载:[url=http://dl.iteye.com/topics/download/2be96bf7-4c2e-3aa8-b83d-d8346f06d756]SyslogSunjAppender_src.zip[/url]
[/list]
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
[color=blue][size=medium]测试接收日志可以借助第三方的syslog4j-0.9.46-bin.jar[/size][/color]
windows cmd 下可运行:
[color=red]java -cp .;syslog4j-0.9.46.jar org.productivity.java.syslog4j.server.SyslogServerMain -p 1514 udp[/color]
-----------------------------------分 ------------------------------------隔 ------------------------------------线 --------------------------------------
这篇关于Log4j输出日志到syslog的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!