You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 6 Web API中Serilog子日志配置问题求助

Serilog 多Sink配置解决方案

你的核心需求是实现两个独立的日志输出:

  • 数据库Sink:仅记录自定义服务代码产生的Information及以上级别日志
  • 控制台Sink:记录所有日志(包括ASP.NET Core框架自带的Microsoft命名空间日志)

之前配置的问题分析

  1. 第一种配置:全局MinimumLevel.Override将Microsoft命名空间日志级别设为Error,这会直接在日志管道入口过滤掉Microsoft的Info及以下日志,导致控制台Sink即使设置了Verbose也无法输出框架日志。
  2. 第二种配置:全局未做命名空间过滤,导致数据库Sink会接收所有日志(包括框架日志),同时连接字符串存在笔误(localhost01应为localhost)且反斜杠未转义,这是数据库无输出的潜在原因。

正确的appsettings.json配置

"Serilog": {
  "MinimumLevel": {
    "Default": "Verbose", // 全局最低级别,确保所有日志进入管道
    "Override": {
      "Microsoft": "Verbose",
      "System": "Verbose"
    }
  },
  "WriteTo": [
    {
      "Name": "MSSqlServer",
      "Args": {
        "connectionString": "Server=localhost\\SQLEXPRESS01;Database=AuctionDb;Trusted_Connection=TRUE;Encrypt=False",
        "tableName": "ActivityLogs",
        "autoCreateSqlTable": false,
        "autoCreateSqlDatabase": false,
        "columnOptionsSection": {
          "customColumns": [
            {
              "ColumnName": "UserId",
              "DataType": "nvarchar"
            },
            {
              "ColumnName": "ItemId",
              "DataType": "int"
            }
          ]
        }
      },
      "MinimumLevel": {
        "Default": "Information", // 仅记录Info及以上级别
        "Override": {
          "Microsoft": "None", // 完全排除Microsoft命名空间日志
          "System": "None"
        }
      }
    },
    {
      "Name": "Console",
      "Args": {
        "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}"
      },
      "MinimumLevel": "Verbose" // 控制台输出所有级别日志
    }
  ]
}

关键配置说明

  • 全局级别设置:将全局Default设为Verbose,并取消对Microsoft/System命名空间的全局过滤,确保所有日志能进入管道,交给各个Sink自行处理。
  • 数据库Sink过滤:通过MinimumLevel.Override将Microsoft/System命名空间的日志级别设为None,彻底排除框架日志,同时限制仅记录Information及以上级别。
  • 控制台Sink设置:直接指定MinimumLevel为Verbose,确保输出所有日志。
  • 连接字符串修正:JSON中反斜杠需转义为\\,同时修正了localhost01的笔误。

内容的提问来源于stack exchange,提问作者rockey werewolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 19:10:26