Log4j могут отправлять журналы Papertrail с помощью системного журнала Appender (documentation):LoggerFields для Syslog (приоритет журнала вывода и трассировки стека)
log4j.appender.syslog=org.apache.log4j.net.SyslogAppender
log4j.appender.syslog.Facility=LOCAL7
log4j.appender.syslog.FacilityPrinting=false
log4j.appender.syslog.Header=true
log4j.appender.syslog.SyslogHost=<host>.papertrailapp.com:XXXXX
log4j.appender.syslog.layout=org.apache.log4j.PatternLayout
log4j.appender.syslog.layout.ConversionPattern=%p: (%F:%L) %x %m %n
Обратите внимание на удобный ConversionPattern
собственности.
мне удалось получить что-то подобное прокатку для log4j2:
Syslog:
name: Syslog
id: [my-id]
appName: [my-app]
protocol: UDP
format: RFC5424
facility: local7
host: <host>.papertrailapp.com
port: XXXXX
includeMDC: true
mdcId: mdc
Он работает и выходов, используя формат RFC5424 по умолчанию:
May 14 14:31:36 [server] [app]: My log message
То, что я действительно хочу, сообщение с информацией о приоритете, а также полные следы стека:
May 14 14:31:36 [server] [app]: ERROR My log message MyException
at package1.MyClass.method1(MyClass.java:20)
at ...
Похоже LoggerFields должен это сделать, но я не могу заставить его работать:
loggerFields:
LoggerFields:
KeyValuePair:
key: priority
value: "%p"
KeyValuePair:
key: exception
value: "%ex"
Как я могу получить Log4j2 для вывода в системный журнал, используя нужный формат?
Это сработало 'exceptionPattern:"% ex "', просто нужно найти способ поставить приоритетную информацию сейчас. –
Я попытался 'log4j.appender.syslog.layout.ExceptionPattern =% ex' и ' log4j.appender.syslog.ExceptionPattern =% ex' я получаю ошибку: не WARN Нет такого свойства [exceptionPattern] в org.apache. log4j.PatternLayout – Roman
Я не вижу способа добавления приоритета журнала с файлами log4j.properties с помощью LoggerFields. Есть ли решение для добавления приоритета журнала? –