我在将日志从 C# 控制台应用程序发布到 Seq 时遇到问题。我正在使用 NuGet 包 Serilog.Sinks.Seq 进行日志记录。在控制台输出中我收到错误消息:
Exception while emitting periodic batch from Serilog.Sinks.Seq.SeqSink: Serilog.Debugging.LoggingFailedException: Received failed result Forbidden when posting events to Seq
Seq 配置为接受所有日志,因此我不清楚为什么禁止记录到 Seq。
控制台应用程序的源代码:
using Serilog;
using System;
namespace SeqLogTest
{
class Program
{
static void Main(string[] args)
{
Log.Logger = new LoggerConfiguration().WriteTo.Seq("http://localhost:5341").CreateLogger();
Serilog.Debugging.SelfLog.Enable(Console.Error);
Log.Warning("Hello Seq, it is warning!");
Log.CloseAndFlush();
Console.ReadKey();
}
}
}
感谢您的帮助!
最佳答案
事实证明,问题的原因是错误创建了 Windows 防火墙规则,该规则本应允许端口 5341 上的连接,但实际上并不起作用。删除规则后,Seq 开始正常显示日志。
关于serilog - 从 Serilog.Sinks.Seq 将事件发布到 Seq 时被禁止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58990105/