Nlog 配置:覆盖一般规则

问题描述 投票:0回答:1

这是我来自 appsettings.json 的 nlog 配置:

"rules": [
  {
    "logger": "Microsoft.EntityFrameworkCore.*",
    "minLevel": "Error",
    "writeTo": "console"
  },
  {
    "logger": "*",
    "minLevel": "Info",
    "writeTo": "console"
  }
]
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
     
     var loggerFactory = LoggerFactory.Create(builder => builder.AddNLog());
     optionsBuilder.UseLoggerFactory(loggerFactory);
}

我想将所有带有 minLevel 信息的日志记录到控制台,但对于 Microsoft.EntityFrameworkCore.* 我只想记录错误和致命错误。

你能解释一下我做错了什么吗,因为信息级消息也被记录到控制台。

c# entity-framework nlog
1个回答
0
投票

使用 NLog v5 然后您可以使用 FinalMinLevel:

"rules": [
  {
    "logger": "Microsoft.EntityFrameworkCore.*",
    "finalMinLevel": "Error"
  },
  {
    "logger": "*",
    "minLevel": "Info",
    "writeTo": "console"
  }
]

另请参阅:https://github.com/NLog/NLog/wiki/Configuration-file#rules

© www.soinside.com 2019 - 2024. All rights reserved.