首页 新闻 会员 周边

serilog 的 "WriteTo": [ null ] 配置不起作用

0
悬赏园豆:30 [已解决问题] 解决于 2026-01-22 18:40

在 appsettings.Prodution.json 中通过 "WriteTo": [ null ]

{
  "Serilog": {
    "WriteTo": [ null ]
  }
}

覆盖 appsettings.json 中的下面 SerilogWriteTo 配置,之前是可以的

{
  "Serilog": {
    "WriteTo": [
      {
        "Name": "Console",
        "Args": {
          "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level}] {Message}{NewLine}{RequestPath}{NewLine}{SourceContext}{NewLine}{Exception}"
        }
      }
    ]
  }
}

后来 serilog 的升级中不知道哪个版本造成 "WriteTo": [ null ] 不起作用,serilog 依然将日志写入控制台

问题补充:

也有可能是升级到 .NET 10 引起的

[ null ] 的解决方法见之前的博问 https://q.cnblogs.com/q/142479

这个问题就是如何在 appsettings.json 的配置项中覆盖一个数组

dudu的主页 dudu | 高人七级 | 园豆:23787
提问于:2026-01-22 16:14
< >
分享
最佳答案
0

原来是 .NET 10 的一个 breaking change 引起的,详见 Null values preserved in configuration

解决方法:将 [ null ] 改为 [ "" ] 即可

{
  "Serilog": {
    "WriteTo": [ "" ]
  }
}
dudu | 高人七级 |园豆:23787 | 2026-01-22 18:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册