Log4j и syslogappender
у меня есть java-приложение, использующее log4j SyslogAppender (facility=USER), и я могу видеть, используя tcpdump на порту 514, что мое приложение отправляет предполагаемое сообщение журнала в качестве дейтаграммы, а также netstat показывает мне, что syslogd (red hat) работает и слушает 0.0.0.0:514, но я не вижу никакого ведения журнала в /var/log/messages.
в моем системном журнале.conf, у меня есть
*.info /var/log/messages
мой шаблон преобразования для SyslogAppender является
%d{MMM dd HH:mm:ss} %F %L %5p [%t] %m %n"
Я не знал почему он не регистрируется или где именно я должен искать, чтобы увидеть, что не удается. И у меня недостаточно разрешений на машине для запуска/остановки syslogd или запуска Вручную, чтобы включить подробные журналы отладки.
любые указатели, как я продолжаю?
Edit:
приложение ниже
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");
}
2 ответов
удаленное ведение журнала не включено в syslog. Странно, потому что он все еще открывается и слушает 514. Как только я начал с syslog-r, все начало регистрироваться.
может быть, это поможет:http://wiki.loggly.com/log4j
Это просто пример настройки с использованием SyslogAppender. Просто проигнорируйте часть о пересылке его Loggly.