我们有一个SmtpAppender
,配置了自定义RateLimiter
过滤器和ERROR
日志级别,除异常格式外,一切都按预期工作,它们包括源代码位置,要删除,我们在初始化日志记录功能后以编程方式将此类追加程序添加到每个日志记录器中,例如log:
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>
我到处寻找一种没有运气的方法来实现这一目标。
答案 0 :(得分:0)
从以下位置更改PatternLayout
的模式:
%d{DEFAULT} %15.15t %-5p %15.15c - %m%n
到
%d{DEFAULT} %15.15t %-5p %15.15c - %m%n%throwable
并从附加程序中删除选项ignoreExceptions
似乎完成了我想要的。