我有一个 ASP.NET 网站,它利用了企业库 (3.1) 的许多方面,包括日志记录应用程序块。我正在使用自定义 TraceListener 来处理所有日志记录请求。
我想添加一个电子邮件侦听器,只要网站发生错误,它就会触发一封电子邮件。需要明确的是(并且因为我犯了同样的错误),这不能通过将以下内容添加到您的配置文件来实现:
<errors switchValue="All" name="Logging Errors & Warnings">
<listeners>
<add name="Email Listener" />
</listeners>
这将在logging发生错误时发送电子邮件,而不是在调用 Trace.TraceError() 时发送电子邮件。我找到了一些编写自定义代码来执行此操作的示例,但这不是我想要做的。
我确信在开发 Enterprise Library 时就考虑到了这一点,我希望遇到一个聪明的人,回答有关 Stack Overflow 的问题,他遇到了这个问题。提前致谢!
更新
解决了。最终使用了一个类别并为此发送了一封电子邮件。
<categorySources>
<add switchValue="Error" name="Errors">
<listeners>
<add name="Email Listener" />
</listeners>
</add>
</categorySources>