在 Serilog 中仅显示调试级别的日志

Show only debug level logs in Serilog

我只想显示调试级别的日志,但 none 其他级别,低于或高于调试级别。 此外,我想在 appsettings.json 的配置中执行此操作,而不是在启动 class 中执行此操作。 这是我的 appsettings.json 文件

 "Serilog": {
"MinimumLevel": {
  "Default": "Debug",
  "Override": {
    "System": "Debug",
    "Microsoft": "Debug"
  }
},
"WriteTo": [
  {
    "Name": "Seq",
    "Args": {
      "serverUrl": "http://localhost:5341/",
      "compact": true
    }
  },
  {
    "Name": "Console"
  },
  {
    "Name": "File",
    "Args": {
      "path": "D:\dev.SmartCity.Peafowls.Logs\PeafowlsLog_.txt",
      "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level}] [{SourceContext}] [{EventId}] {Message}{NewLine}{Exception}",
      "rollingInterval": "Day",
      "rollOnFileSizeLimit": true,
      "fileSizeLimitBytes": 4194304
    }
  }
],
"Enrich": [ "FromLogContext" ] }

检查 this 答案。 您可以按级别过滤消息。

像这个例子:

{
  "Serilog": {
    "Using": ["Serilog.Settings.Configuration"],
    "Filter": [
      {
        "Name": "ByExcluding",
        "Args": {
          "expression": "EndsWith(RequestPath, '/SomeEndpoint')"
        }
      }
    ]

来自 Github 源代码。