首页 > 解决方案 > 从登录asp.net核心排除特定控制器

问题描述

在我们的 ASP.net 核心应用程序中有一个带有 GET 资源的 HealthCheck 控制器,它只返回 200 - OK。该资源每 5 秒调用一次,它会向我们的日志文件发送垃圾邮件。我们正在使用 Log4net。

如何从日志记录中排除特定的控制器/资源?

编辑:日志条目来自 Microsoft.AspNetCore.* 命名空间,它们是有关请求开始/完成/路由匹配/等的信息。我只想为单个控制器关闭这些。

标签: c#asp.net-core

解决方案


您指定您使用的是 Log4Net,但我假设您实际上是在使用带有Microsoft.Extensions.Logging. 如果确实如此,您可以通过配置过滤日志。类似于以下内容:

{
  "Logging": {
    ...
    "LogLevel": {
      "Namespace.To.MyController": "Error",
      "Default": "Debug"
    }
  }
}

如果消息的级别为错误或更高级别,则只会登录该名称空间,过滤掉诸如信息级别日志之类的内容,这可能是您所说的“垃圾邮件”。


推荐阅读