首页 > 解决方案 > NLog asp.net 核心在错误时自动发送电子邮件而不记录它

问题描述

这是一个奇怪的情况,NLog 用户通常在 NLog 不发送电子邮件时联系,但我正在联系您,因为 NLog 正在发送电子邮件。

我使用UseNLog(). 我有 nlog.config 文件。而已。没有其他设置来配置它。

Nlog.config 文件只是将目标设置为向我发送电子邮件。

我什至没有在任何 OData 控制器中注入 Logger。这是一个 Asp.net Core 项目。

我从我的一个控制器手动抛出异常。它给我发电子邮件。我什至没有打电话Logger.LogError()

这是怎么回事?

标签: emailloggingodataasp.net-core-webapinlog

解决方案


NLog 与 ASP.NET Core 日志集成。这不仅是一个记录器抽象,而且 ASP.NET Core 正在将日志写入该抽象(调试信息、http 调用、错误等)。

因此,如果 ASP.NET Core 捕获到异常,它将写入日志记录抽象,并且 NLog 被配置为使用 UseNLog 和 nlog.config 处理日志记录。

如果您设置 NLog 的内部日志,这可能会更清楚,它显示了内部。

另请参阅NLog 和 ASP.NET Core 2 入门,在下面的示例中,您将看到一些输出示例。


推荐阅读