Каков самый современный способ входа в syslog с помощью обработчика java.util.logging?
Я специально ищу самый современный, современный SysLogHandler
для java.util.logging
.
Я нашел несколько, которые относятся к 2001-2003 годам, в основном не поддерживаемые сейчас.
Я знаю, что syslog
- довольно статичная служба, мне интересно, прежде чем я что-то напишу сам, если есть какие-то новые реализации обработчиков, поддерживающие Java 1.5 и более новые функции.
Я не, интересующийся любой из других фреймворков регистрации или библиотек-оболочек/прокси.
Я не ищет SLF4J или любые другие альтернативные рамки ведения журнала, как это предлагается в question.
Ответы
Ответ 1
Я встретил ту же проблему - мне нужен был класс расширения Syslog для java.util.logging.Handler
После поиска в Интернете без каких-либо успехов я создал собственную реализацию - http://code.google.com/p/agafua-syslog/ с поддержкой протоколов UDP и TCP. Я использую его в производственном проекте.
Ответ 2
В старой работе я использовал библиотеку Syslog4j и подключил к ней пользовательский Log4j-appender, так что вы, вероятно, можете сделать что-то подобное, реализуя пользовательский java.util.logging.Handler
, который передает сообщения.
Ответ 3
Syslog (по крайней мере, в Linux) прослушивает порт UDP для ввода (по умолчанию 514/udp).
Итак, реализуйте Обработчик, который отправляет отформатированные сообщения на этот порт. Я использовал существующий SocketHandler для ссылки и реализовал альтернативу вокруг DatagramSocket. Шахта достигла примерно 200 линий олл-ин.