【问题标题】:Show only debug level logs in Serilog在 Serilog 中仅显示调试级别日志
【发布时间】:2022-01-03 11:50:56
【问题描述】:

我只想显示调试级别的日志,但不显示低于或高于调试级别的其他级别。 我也想在 appsettings.json 的配置中做到这一点,而不是在启动类中。 这是我的 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" ] }

【问题讨论】:

    标签: c# .net logging serilog


    【解决方案1】:

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

    像这个例子:

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

    来自Github 源代码。

    【讨论】:

    • 请注意,这需要安装Serilog.Settings.Configuration nuget 包。如果@OP 遇到问题,他们应该确保添加这个包
    猜你喜欢
    • 1970-01-01
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 2019-02-02
    • 2019-07-08
    • 1970-01-01
    相关资源
    最近更新 更多