log4j写syslog

hai0 2011-10-27

 之前一直以为log4j只能将日志写在本地,没想到它竟然也可以将日志写到远程服务器(须是LINUX服务器),现将自已的调查结果记录下来,以便以后查看。

1) 修改syslog的配置文件/etc/syslog.conf

在最后加上如下内容(注意中间的空白必须是TAB键,不能是空格,数量不限,切记!请参见下面给出的参考文档一)

  
local6.*  /var/log/log4j.log

2) 编辑/etc/sysconfig/syslog。    在SYSLOGD_OPTIONS中追加"-r"。

# Options to syslogd 
# -m 0 disables 'MARK' messages. 
# -r enables logging from remote machines 
# -x disables DNS lookups on messages recieved with -r 
# See syslogd(8) for more details 
SYSLOGD_OPTIONS="-r -m 0"

3) 重新启动Syslog服务

/etc/init.d/syslog stop
/etc/init.d/syslog start

4) 为了测试你的配置对不对,你可以用以下语句进行测试一下(就不解释该语句了)

# /usr/bin/logger –p local6.info “This space intentionally left blank”

5) 配置log4j

log4j.logger.REPORTER.OPERATIONHISTORY=INFO, A5
log4j.additivity.REPORTER.OPERATIONHISTORY=false
log4j.appender.A5=org.apache.log4j.net.SyslogAppender
log4j.appender.A5.SyslogHost=此处为你的服务器名或IP
log4j.appender.A5.Facility=local6
log4j.appender.A5.layout=org.apache.log4j.PatternLayout
log4j.appender.A5.layout.ConversionPattern=%m%n

参考文档:

http://www.precision-guesswork.com/sage-guide/syslog-overview.html

相关推荐