如何将LOG4NET用于特定事件
本文关键字:事件 用于 LOG4NET | 更新日期: 2023-09-27 18:27:55
嗨,刚刚学习Log4net,我被卡住了
我使用Info(...)
写入日志文件,但在特定事件中也需要使用Info(...)
发送电子邮件。
因此,一个对Info(...)
的调用会写入日志并发送一封电子邮件。
实现这一点的最佳方法可能是在SMTP附加程序中添加一个筛选器:StringMatchFilter可能是您的最佳选择。
以下是将StringMatchFilter与SMTPAppender一起使用的示例http://maonet.wordpress.com/2012/01/06/use-log4net-filter-to-dispatch-email-notification-based-on-string-match
作者注意到:
- 筛选器类型设置为log4net.filter.StringMatchFilter
- 每个筛选器节只能有一个stringToMatch元素
- 以"log4net.Filter.DenyAllFilter"筛选器结束,从默认的"除非另有指示,否则接受全部"筛选行为切换为"除非另有指令,否则拒绝全部"行为
您可以在log4net-config:中为您的特定记录器添加一个额外的记录器
<log4net>
<appender name="DefaultAppender" type="...">
...
</appender>
<appender name="MailAppender" type="...">
...
</appender>
<root>
<level value="INFO" />
<appender-ref ref="DefaultAppender" />
</root>
<logger name="MyLoggerNameMail">
<level value="INFO" />
<appender-ref ref="MailAppender" />
</logger>
</log4net>