0

在 Windows Server 2003 R2 上运行 Windows 服务。我们正在使用 Exchange Server 发送电子邮件。

我正在使用 log4net.dll 1.2.11.0。

我有这样的情况,log4net 有时会发送电子邮件,有时即使没有对设置进行更改,有时也不发送。

所有其他 log4net 日志都工作得很好。如前所述,有时应用程序会发送电子邮件,有时则不会,因为对应用程序没有任何更改。

我所有的方法都在 try-catch 子句中,但我没有收到任何错误。

当我在本地计算机上运行 Windows 服务时,log4net 电子邮件始终有效,正如在远程服务器上所说,有时 log4net 电子邮件有效,有时却不有效,没有对设置进行任何更改。

我正在使用log4net.Internal.Debug并有一个System.Diagnostics.TextWriterTraceListener 文件写入其中。扫描这个文件我没有特别注意到任何东西,但我不知道具体要寻找什么。

关于问题是什么或该怎么做的任何想法?

4

1 回答 1

0

如果 SMTP 附加程序无法发送电子邮件,它将记录带有以下文本的异常:发送电子邮件通知时发生错误。如果启用了内部调试,这将是可见的。也许您配置了过滤器或类似的配置来阻止 log4net 发送电子邮件。

您可以下载 log4net 的源代码并向 SMTP 附加程序添加额外的日志记录,以查看附加程序的“SendMail”方法是否被调用。如果确实如此并且没有显示电子邮件并且没有显示错误,那么我们需要假设交换服务器以某种方式吞下了电子邮件。如果 appender 没有被触发,那么你需要检查你的 filter/buffer/threshold 配置。

或者,您可以尝试使用SmtpPickupDirAppender.

于 2013-07-20T12:18:05.123 回答