Log4j2 SmtpAppender для включения исключений без расположения исходного кода трассировки стека - PullRequest
0 голосов
/ 03 мая 2019

У нас есть SmtpAppender, настроенный с пользовательским фильтром RateLimiter и уровнем журнала ERROR, все работает, как и ожидалось, за исключением формата исключений, они включают расположение исходного кода, которое мы хотели бы удалить, мыдобавить такого аппендера программно к каждому регистратору после инициализации средства ведения журнала, пример журнала:

2019-05-03 10:39:58,871        Thread-9 ERROR s.utils.Startup - Testing error
java.lang.RuntimeException: Testing error
    at com.somepackage.SomeClass.lambda$enableEmailLogging$0(Startup.java:619) ~[classes/:?]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]

Также раздражают ~[classes/:?] и [?:1.8.0_212];В общем, мы бы хотели, чтобы в нашем журнале всегда были исключения, которые хорошо выполняются и в нашем RollingRandomAccessFile приложении, но с той же проблемой включения исходного кода трассировки стека, вот также фрагмент нашего приложения для прокрутки файлов:

<Appenders>
   <RollingRandomAccessFile name="RollingFile" fileName="/opt/tomcat/logs/some-webapp.log"
                                 filePattern="/opt/tomcat/logs/some-webapp.log-%d{yyMMdd-HH}"
                                 ignoreExceptions="false">
       <PatternLayout>
           <Pattern>%d{DEFAULT} %15.15t %-5p %15.15c - %m%n</Pattern>
       </PatternLayout>
       <Policies>
           <TimeBasedTriggeringPolicy/>
       </Policies>
   </RollingRandomAccessFile>
</Appenders>

Я искал способ сделать это без удачи.

1 Ответ

0 голосов
/ 03 мая 2019

Изменение шаблона PatternLayout с:

%d{DEFAULT} %15.15t %-5p %15.15c - %m%n

до

%d{DEFAULT} %15.15t %-5p %15.15c - %m%n%throwable

и удаление опции ignoreExceptions из аппендеров, кажется, выполняет то, что я хотел.

...