身份服务器在 Serilog 中提供了太多日志

Identity Server Providing too many logs in Serilog

我刚刚使用 Seq 接收器为 .Net Core 设置了 Serilog。它正在完美地写入 Seq。我的问题是 Identity Server 写了很多我认为不必要的日志,我想我已经设置了日志级别来过滤掉那些日志。 我可以通过过滤掉源上下文来过滤掉这些吗?

以下是已编辑应用名称的日志示例:

我只需要用户登录,不需要上面的任何内容。我的 appsettings.json 看起来像这样:

 "Serilog": {
    "Using": [ "Serilog.Sinks.Seq", "Serilog" ],
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Error",
        "Microsoft.AspNetCore": "Error"
      }
    },
    "WriteTo": [
      {
        "Name": "Seq",
        "Args": { "serverUrl": "http://seqserver"  }
      }
    ],
    "Enrich": [ "FromLogContext", "WithMachineName" ],
    "Properties": {
      "Application": "App"
    }
  }

我的 Program.cs 看起来像这样:

 public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseSerilog((context, config) =>
                {
                    config.ReadFrom.Configuration(context.Configuration)
                        .Enrich.FromLogContext()
                        .Enrich.WithProperty("Environment", context.HostingEnvironment);
                })
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });

您可以覆盖 IdentityServer 的默认级别

 "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Error",
        "Microsoft.AspNetCore": "Error",
        "IdentityServer": "Information"
      }
    },