gpt4 book ai didi

java - Log4j2 SmtpAppender 包含异常而无需堆栈跟踪源代码位置

转载 作者:行者123 更新时间:2023-12-02 06:02:27 24 4
gpt4 key购买 nike

我们有一个 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>

我一直在寻找一种方法来实现这一点,但没有运气。

最佳答案

更改 PatternLayout 的模式:

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

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

并从附加程序中删除选项ignoreExceptions似乎完成了我想要的。

关于java - Log4j2 SmtpAppender 包含异常而无需堆栈跟踪源代码位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55967488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com