【发布时间】:2013-08-20 08:16:41
【问题描述】:
我正在尝试发送电子邮件以防我们的项目出现错误。为此,我们使用 Log4j 的 SMTPAppender。我正在开发模式下运行我的项目,并尝试通过在SMTPAppender 中使用以下ConversionPattern 来获取错误的完整堆栈跟踪:
<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 没有获取整个堆栈跟踪?
【问题讨论】:
-
根据我们在旧答案下的评论对话,我已经调整了您的问题,希望有人能给出答案。
标签: java log4j smtpappender mdc