Serilog集成Graylog后UI无日志显示问题求助
问题排查:Serilog集成Graylog日志不显示
核心错误修正
首先你配置里的Graylog地址和实际服务器地址不匹配:
- 你说明Graylog服务器地址是
10.0.6.55,但appsettings.json中hostnameOrAddress写的是10.0.5.57,这是导致日志无法送达的直接原因,先把这个地址修正为10.0.6.55。
其他排查步骤
修正地址后如果还是没日志,按以下步骤逐一排查:
网络连通性验证:在应用部署的机器上,使用工具测试UDP 1514端口的连通性。比如用
nc命令:nc -u 10.0.6.55 1514输入任意文本后回车,如果没有报错,说明网络能通;如果超时或报错,检查两台机器之间的防火墙(包括服务器本地防火墙和网络防火墙)是否放行UDP 1514端口。
Graylog输入配置核对:
- 确认UDP输入的绑定地址是
0.0.0.0(允许所有IP访问),或者包含应用服务器的IP,避免只绑定了127.0.0.1(仅本地访问) - 确认输入处于运行中状态(从你提供的截图看输入已启动,可再在Graylog后台输入列表中确认)
- 检查输入的端口确实是
1514,和Serilog配置一致
- 确认UDP输入的绑定地址是
Serilog日志级别检查:
你配置的MinimumLevel是Information,确保代码中输出的日志级别不低于这个等级,比如使用Log.Information("测试日志")而非Log.Debug("调试日志")(Debug级别低于Information,不会被发送)。验证Serilog本身是否正常工作:
临时在appsettings.json的WriteTo中添加一个Console sink,确认日志能正常输出到控制台,排除应用侧日志未生成的问题:"WriteTo": [ { "Name": "Console" }, { "Name": "Graylog", "Args": { "hostnameOrAddress": "10.0.6.55", "port": "1514", "transportType": "Udp" } } ]检查Serilog Sink版本:
确保你引用的Serilog.Sinks.GraylogNuGet包是最新稳定版本,避免版本兼容问题导致的日志发送失败。
内容的提问来源于stack exchange,提问作者datum
相关产品推荐
相关产品推荐

