1
我试图发送电子邮件,以防在我们的项目中发生错误。为此,我们使用Log4j的SMTPAppender
。我跑我的项目在开发模式,并尝试使用以下ConversionPattern
在SMTPAppender
得到错误的完整堆栈跟踪:Log4J转换说明符“%l”不打印整个堆栈跟踪
<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 do一样, %c从不打印行号,而%1)。
什么可能是正确的方式来获取堆栈跟踪和为什么%l
没有得到整个堆栈跟踪?
根据我在旧回答下的评论对话,我调整了你的问题,希望有人会有答案。 –