Abh*_*hek 5 java logging exception logback slf4j
我正在使用slf4j在控制台和自定义文件中记录自定义异常及其堆栈跟踪。我遇到了一种情况,我不得不截断一些非关键异常的堆栈跟踪。
使用此文档,我在我的logback.xml文件中添加了以下配置
<evaluator name="DISPLAY_EX_EVAL">
<expression>throwable != null && throwable instanceof com.abc.NonCriticalException</expression>
</evaluator>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-30(%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread]) %-5level
%logger{150} -%msg%n%ex{full, DISPLAY_EX_EVAL}
</pattern>
</encoder>
</appender>
Run Code Online (Sandbox Code Playgroud)
但是,上述配置会在记录配置的异常期间删除所有堆栈跟踪。有没有办法记录匹配异常的截断堆栈跟踪(1 或 2 行)?
但为什么要截断堆栈跟踪呢?为什么不记录完整的堆栈跟踪。毕竟,这是重要且有用的信息。正确的?
我猜您认为必须记录所有异常的堆栈跟踪。这是一个错误。您应该仅记录指示被调用代码中存在错误(意外异常)的异常的堆栈跟踪。当然,您的程序记录这些堆栈跟踪的情况应该不常见,当这种情况发生时,您将需要完整的堆栈跟踪来帮助您调试问题。
| 归档时间: |
|
| 查看次数: |
1495 次 |
| 最近记录: |