Взлом Log4j для отправки пользовательских сообщений SysLog - PullRequest
1 голос
/ 03 февраля 2011

Я делаю утилиту, которая работает непосредственно с данными системного журнала.В настоящее время он использует log4j для записи информации на консоль.Мне нужен механизм для отправки данных системного журнала предопределенного формата на другую машину.Эти данные НЕ являются журналом того, как работает текущая утилита ... они все еще записываются на стандартный вывод для других целей.

Я заметил SyslogAppender, и это выглядит многообещающеЯ бы предпочел напрямую контролировать log4j, а не использовать файл log4j.properties.Возможно ли это?

1 Ответ

4 голосов
/ 13 февраля 2012

Вы можете добавить appender в регистратор в log4j.

Что-то вроде:

Logger root = Logger.getRootLogger();

SyslogAppender syslogAppender = new SyslogAppender();
syslogAppender.setSyslogHost(<host ip:port>);
syslogAppender.setThreshold(<required Level>);
syslogAppender.setLayout(new PatternLayout(<required pattern>));

root.addAppender(syslogAppender);

Есть еще несколько опций для SyslogAppender, подробности смотрите в javadocs.

(мой первый ответ на StackOverflow, будьте осторожны! :))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...