Log4j和syslogappender

Pra*_*nna 7 java log4j syslog

我有一个使用log4j SyslogAppender(facility = USER)的java应用程序,我可以看到在端口514上使用tcpdump我的应用程序正在发送预期的日志消息作为数据报,netstat也向我显示syslogd(red hat)正在运行并正在监听0.0 .0.0:514但我没有在/ var/log/messages中看到任何日志记录.

在我的syslog.conf中,我有

*.info         /var/log/messages
Run Code Online (Sandbox Code Playgroud)

我对SyslogAppender的转换模式是

%d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n"
Run Code Online (Sandbox Code Playgroud)

我无能为力,为什么它没有记录或我应该在哪里找到什么是失败的.我没有足够的权限在机器上启动/停止syslogd或手动运行以启用详细的调试日志.

有关我如何进行的任何指示?

编辑:

下面的Appender

private void initSyslog() { 
    SyslogAppender syslogAppender = new SyslogAppender();   
    syslogAppender.setName("syslog");
    syslogAppender.setLayout(new PatternLayout("%d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n")); 
    syslogAppender.setFacility("USER"); 
    syslogAppender.setFacilityPrinting(true);
    syslogAppender.setSyslogHost("localhost");
    syslogAppender.activateOptions(); 
    Logger.getRootLogger().addAppender(syslogAppender);
    Logger.getRootLogger.info("Syslogdone");
} 
Run Code Online (Sandbox Code Playgroud)

Pra*_*nna 9

syslog中未启用远程日志记录.很奇怪,因为它仍然打开并监听514.一旦我开始使用syslog -r,一切都开始记录.