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

.NET461控制台应用Serilog读取App.Config应用名失败排查

问题分析与解决:.NET 4.6.1中Serilog全局属性未在Seq显示

这个问题的核心在于**.NET Framework下App.Config的Serilog配置规则和.NET Core的appsettings.json不一样**,你当前用的serilog:properties:Application键在Serilog.Settings.AppSettings包的配置体系里,并不会被识别为全局静态属性。

具体解决方案

你只需要把App.Config里的属性配置键修改为带global:前缀的格式:

<add key="serilog:global:properties:Application" value="My App"/>

为什么这样生效?

在Serilog.Settings.AppSettings(用于.NET Framework读取配置的包)中,全局属性的配置路径约定是serilog:global:properties:{PropertyName},而你之前用的serilog:properties是.NET Core中appsettings.json的配置节点约定,两者不通用。

额外验证步骤

确保你的日志初始化代码正确加载了AppSettings配置,比如:

Log.Logger = new LoggerConfiguration()
    .ReadFrom.AppSettings()
    .CreateLogger();

修改配置后重启应用,再发送日志到Seq,就能看到Application属性正常显示了。

如果你不想修改配置键,也可以在代码里手动添加全局属性(不过这种方式不够灵活,不推荐):

Log.Logger = new LoggerConfiguration()
    .ReadFrom.AppSettings()
    .Enrich.WithProperty("Application", "My App")
    .CreateLogger();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:21:20