Использование Unix сокета Syslog с Log4J2
Я хотел бы отправить журналы приложения на сервер rsyslog, используя клиентский протокол: сокет Unix. И приложение, и сервер rsyslog находятся на одной машине.
Я сравнивал различные инструменты ведения журнала: Log4J, Logback и Log4J2.
Приложение Syslog Log4J изначально не разрешает это. Решение - использовать Syslog4J и настроить наш Syslog4JAppender следующим образом:
<appender name="mySyslogAppender" class="org.productivity.java.syslog4j.impl.log4j.Syslog4jAppender">
<param name="protocol" value="unix_socket" />
...
</appender>
Так же, как Log4J, приложение системного журнала Logback не разрешает его изначально. Решением является использование инструмента Syslog4J и logback-syslog4j, и настройте наш appender следующим образом:
<appender name="mySyslogAppender" class="com.papertrailapp.logback.Syslog4jAppender">
<syslogConfig class="org.productivity.java.syslog4j.impl.unix.socket.UnixSocketSyslogConfig">
...
</syslogConfig>
</appender>
Сейчас я ищу решение для Log4J 2, но я не нашел ни одного. Вы знаете один? Будут ли эти инструменты изначально включать эту функциональность?