У меня есть java-приложение, использующее log4j SyslogAppender (facility=USER), и я могу видеть, используя tcpdump на порту 514, что мое приложение отправляет предназначенное сообщение журнала в виде дейтаграммы, а также netstat показывает мне, что syslogd (red hat) запущен и прослушивает 0.0.0.0:514, но я не вижу никакого протоколирования, происходящего в /var/log/messages.
В моем syslog.conf у меня есть
*.info /var/log/messages
Мой шаблон преобразования для SyslogAppender -
%d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n"
Я не понимаю, почему он не может вести журнал или где именно я должен искать, чтобы увидеть, что не работает. И у меня нет достаточных прав на машине, чтобы запустить/остановить syslogd или запустить вручную, чтобы включить подробные журналы отладки.
Любые указания, как мне действовать?
Редактировать:
Appender below
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");
}