我有一个使用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)
| 归档时间: |
|
| 查看次数: |
19283 次 |
| 最近记录: |