我正在尝试发送电子邮件以防我们的项目发生错误。为此,我们使用 Log4j 的SMTPAppender
. 我正在开发模式下运行我的项目,并尝试通过使用以下内容来获取错误的完整堆栈ConversionPattern
跟踪SMTPAppender
:
<param name="ConversionPattern"
value="[%d{ISO8601}] [%t] [%5p] [%c ] %n %m %l %X{config}"/>
我抛出错误如下:
try {
throw new Exception(" To get the MDC values !!!");
} catch (Exception e)
{
LOGGER.error(" To get the MDC values !!!", e);
}
%m
被文本替换,To get the MDC values !!!
但是%l
(小写L
)正在打印发出带有行号的日志请求的调用者的完全限定类名(就像 %c 所做的那样,不同之处在于 %c 从不打印行号而 %l 确实)。
获取堆栈跟踪的正确方法是什么,为什么%l
不获取整个堆栈跟踪?