栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

log4j2 SMTP Appender:如何在其他级别包含以前的邮件?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

log4j2 SMTP Appender:如何在其他级别包含以前的邮件?

当前这是不可能的:SMTP附加程序有一个缓冲区,可以在向电子邮件发送日志事件之前捕获日志事件,但仅捕获为目标级别配置的事件(示例中为ERROR)。如果将其更改为INFO,您将收到所有INFO级日志消息的电子邮件通知(而不仅仅是ERROR级消息之前的电子邮件通知)。

您可以在log4j
问题跟踪器或log4j用户邮件列表中提出此功能请求。


更正:我 错了,错了,错

STMP
Appender确实具有缓冲区,但是它旨在捕获在错误日志事件之前的最后X个(默认情况下为512个)INFO,DEBUG,TRACE级消息。因此,它应该像您期望的那样工作(例如log4j-1.x
SMTP附加程序有效)。

SMTP Appender在收到ERROR(或更严重)级别的日志事件时将触发电子邮件。所以,在你的配置,你应该 不会
只发送错误级别的日志事件,这个附加器(或你会错过它之前的信息,调试,跟踪事件)。

在您的配置中,更改

<AppenderRef ref="AsyncMailer" level="error"/>
<AppenderRefref="AsyncMailer"/>

那应该解决问题。如果您仍然遇到问题,则其他人也会报告类似的问题,并且显然可以通过向配置中添加ThresholdFilter来找到解决方法:

<Appenders>    <SMTP name="Mailer" suppressExceptions="false"          subject="${subject}" to="${receipients}" from="${from}"          smtpHost="${smtpHost}" smtpPort="${smtpPort}"          smtpProtocol="${smtpProtocol}" smtpUsername="${smtpUser}"          smtpPassword="${smtpPassword}" smtpDebug="false" bufferSize="20">        <ThresholdFilter level="debug" onMatch="NEUTRAL" onMismatch="DENY" />         <PatternLayout> <pattern>%d{dd-MM-yyyy HH:mm:ss,SSS} %5p %m%n</pattern>        </PatternLayout>    </SMTP>    <Async name="AsyncMailer">        <AppenderRef ref="Mailer"/>    </Async></Appenders><Loggers>    <Root level="info">        <AppenderRef ref="AsyncMailer" />    </Root></Loggers>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/429092.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号