使用log4j将日志数据写入系统日志

我无法将日志消息写入syslog。 任何帮助将是伟大的。 这是我简单的log4j程序

import org.apache.log4j.Logger; import java.io.*; import java.sql.SQLException; import java.util.*; public class log4jExample { /* Get actual class name to be printed on */ static Logger log = Logger.getLogger(log4jExample.class.getName()); public static void main(String[] args) throws IOException,SQLException { log.error("Hello this is an error message"); log.info("Hello this is an info message"); log.fatal("Fatal error message"); } } 

我的系统日志属性文件

 # configure the root logger log4j.rootLogger=INFO, SYSLOG # configure Syslog facility LOCAL1 appender log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender log4j.appender.SYSLOG.threshold=WARN log4j.appender.SYSLOG.syslogHost=localhost log4j.appender.SYSLOG.facility=LOCAL4 log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout log4j.appender.SYSLOG.layout.conversionPattern=[%p] %c:%L - %m%n 

Solutions Collecting From Web of "使用log4j将日志数据写入系统日志"

将以下行添加到rsyslog.conf文件

 $ModLoad imudp $UDPserverRun 514 

它为我工作。

修改后需要重新启动rsyslog。