如何在 appsettings.json 中为 NLog 日志记录规则指定多个过滤器

Joh*_*ler 6 nlog .net-core

我见过使用 XML 进行过滤的多个示例,但我使用 appsettings.json 进行所有配置。我已经能够实现单个when 过滤器,但是当我尝试添加额外的过滤器时,我收到重复的键错误。有任何想法吗?

这有效 -

"rules": [
  {
    "logger": "*",
    "minLevel": "Debug",
    "writeTo": "db",
    "filters": {
      "when": { 
        "condition": "equals('${event-properties:sublevel}','diagnostic')",
        "action": "Ignore"
      }
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

Jul*_*ian 6

NLog.Extensions.Logging 1.7.2 已修复此限制,现在支持此工作示例:

"rules": [
    {
        "logger": "*",
        "minLevel": "Trace",
        "writeTo": "Console",
        "filterDefaultAction": "Log",
        "filters": [
            {
                "type": "when",
                "condition": "equals('${event-properties:sublevel}','diagnostic')",
                "action": "Ignore"
            },
            {
                "type": "when",
                "condition": "contains('${message}','HeartbeatResponse')",
                "action": "Ignore"
            }
        ]
    }
]  
Run Code Online (Sandbox Code Playgroud)