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

Serilog.Sinks.Graylog在.NET Core环境下无法写入日志到Graylog面板

修复方案

1. 核心配置错误修正

你当前代码中GraylogSinkOptions的HostnameOrAddress参数填写错误:该字段仅需传入Graylog服务的IP或域名,不需要附带Graylog Web面板的端口号。你错误填入了Web访问地址127.0.0.1:9000,修改后的正确配置如下:

var loggerConfig = new LoggerConfiguration();

loggerConfig
    // 配置最小日志级别,避免低于级别的日志被过滤
    .MinimumLevel.Debug()
    .Enrich.FromLogContext()
    .Enrich.WithProperty("source", "xxx-yyy")
    .Enrich.WithProperty("test", "test9999");

loggerConfig.WriteTo.Graylog(new GraylogSinkOptions
{
    // 仅保留IP/域名,不要加Web面板端口
    HostnameOrAddress = "127.0.0.1",
    Port = 12201,
    // 与Graylog端创建的GELF输入协议保持一致,可选Udp/Tcp/Http
    TransportType = TransportType.Udp
});

2. 其余可排查项

  • 确认Graylog端已创建对应传输协议的GELF输入,且监听端口确实为12201,输入未被禁用
  • 检查运行应用的服务器与Graylog服务器之间的网络连通性,12201端口未被防火墙、安全组拦截
  • 开启Serilog自我诊断查看具体报错,可快速定位剩余问题:
// 放在Logger配置之前,运行后可在控制台看到Serilog写入时的异常信息
Serilog.Debugging.SelfLog.Enable(msg => Console.WriteLine(msg));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:06:04