NLog asp.net 核心在错误时自动发送电子邮件而不记录它
NLog asp.net core sends email automatically on error without logging it
这是一个奇怪的情况,NLog 用户通常在 NLog 不发送电子邮件时联系,但我联系你是因为 NLog 正在发送电子邮件。
我使用 UseNLog()
配置了 NLog。我有 nlog.config 个文件。而已。没有其他设置来配置它。
Nlog.config 文件只是将目标设置为向我发送电子邮件。
我什至没有在任何 OData 控制器中注入 Logger。
这是一个 Asp.net 核心项目。
我正在从我的一个控制器中手动抛出异常。它给我发电子邮件。
我什至没有打电话给 Logger.LogError()
.
这是怎么回事?
NLog 与 ASP.NET 核心日志记录集成。这不仅是一个记录器抽象,而且 ASP.NET Core 正在将日志写入该抽象(调试信息、http 调用、错误等)。
因此,如果 ASP.NET Core 捕获到异常,它将写入日志记录抽象,并且 NLog 配置为使用 UseNLog 和 nlog.config.
处理日志记录
如果您set-up the internal log of NLog,这可能会更清楚,它显示了内部结构。
另请参见 getting started with NLog and ASP.NET Core 2,在下面的示例中您将看到一些输出示例。
这是一个奇怪的情况,NLog 用户通常在 NLog 不发送电子邮件时联系,但我联系你是因为 NLog 正在发送电子邮件。
我使用 UseNLog()
配置了 NLog。我有 nlog.config 个文件。而已。没有其他设置来配置它。
Nlog.config 文件只是将目标设置为向我发送电子邮件。
我什至没有在任何 OData 控制器中注入 Logger。 这是一个 Asp.net 核心项目。
我正在从我的一个控制器中手动抛出异常。它给我发电子邮件。
我什至没有打电话给 Logger.LogError()
.
这是怎么回事?
NLog 与 ASP.NET 核心日志记录集成。这不仅是一个记录器抽象,而且 ASP.NET Core 正在将日志写入该抽象(调试信息、http 调用、错误等)。
因此,如果 ASP.NET Core 捕获到异常,它将写入日志记录抽象,并且 NLog 配置为使用 UseNLog 和 nlog.config.
处理日志记录如果您set-up the internal log of NLog,这可能会更清楚,它显示了内部结构。
另请参见 getting started with NLog and ASP.NET Core 2,在下面的示例中您将看到一些输出示例。