Мы используем log4j SyslogAppender для отправки наших операторов регистрации в syslog-ng. Когда сообщения находятся в syslog-ng, у нас возникают проблемы с получением syslog-ng распознавания того, что трассировка стека идет с соответствующим оператором регистрации. Таким образом, когда мы фильтруем сообщения (что мы делаем для выделения операторов уровня ERROR для мониторинга аварийных сигналов), трассировка стека теряется. Кто-нибудь знает, можно ли это сделать? Мы используем версию syslog-ng 3.1.4 с открытым исходным кодом на Gentoo.
Я закончил тем, что написал собственный Syslog Appender, который помещает правильный префикс в каждую строку stacktrace, чтобы строки трассировки стека могли быть правильно отсортированы нашими фильтрами syslog. Это не идеально, но работает достаточно хорошо.
Я не знаком конкретно с Syslog-ng, но знаю, что в обычном системном журнале и в rsyslog новая строка указывает на новое сообщение. Я думаю, вам придется удалить все символы новой строки из трассировки стека, чтобы это работало, что, очевидно, сделало бы трассировку стека довольно трудной для чтения.