Web.Config配置Graylog日志无法发送问题排查
问题排查与解决
核心问题是配置项拼写错误,导致Serilog无法正确识别Graylog的地址配置:
- Web.Config中
hostnameOrAdress的拼写有误,正确的属性名是hostnameOrAddress(注意Address包含两个字母d)。Serilog通过AppSettings读取配置时,配置键的后缀需要和GraylogSinkOptions类的属性名完全匹配,拼写错误会导致配置失效,Sink初始化时使用默认值,自然无法发送日志到Graylog。
修正后的Web.Config配置
<add key="serilog:using:Graylog" value="Serilog.Sinks.Graylog" /> <add key="serilog:write-to:Graylog.hostnameOrAddress" value="URL" /> <add key="serilog:write-to:Graylog.port" value="12201" /> <add key="serilog:write-to:Graylog.transportType" value="Http" />
额外检查点
- 确认
Serilog.Sinks.GraylogNuGet包版本与代码中使用的一致,不同版本的配置键可能存在差异。 - 验证配置中的
URL是否为Graylog HTTP输入的完整正确地址(例如部分Graylog实例需要指定路径http://your-graylog-server:12201/gelf)。
内容的提问来源于stack exchange,提问作者Ramūnas Jucevičius
相关产品推荐
相关产品推荐

