在调用 Log.CloseAndFlush() 之前,Serilog 不会将日志写入 Seq

标签 serilog seq-logging getseq

当我从 WinForm/Web 应用程序登录时,Serilog 和 Seq 工作正常。仅当我使用控制台应用程序时我才遇到问题。如果不编写Log.CloseAndFlush(),它就无法工作。以下是我的 LoggerConfiguration

Log.Logger = new LoggerConfiguration()
                .WriteTo.Seq("http://localhost:5341")
                .CreateLogger();

是否有任何方法可以在不调用 Log.CloseAndFlush() 的情况下进行记录,以便它可以在控制台应用程序中与 seq、serilog 一起使用。

最佳答案

Log.CloseAndFlush() 只需要在控制台应用程序退出之前调用一次。这是一种“关闭”方法,可确保在应用程序退出之前处理所有缓冲的事件。

Serilog Lifecycle of Loggers文档提供了有关 CloseAndFlush() 的更多详细信息。

关于在调用 Log.CloseAndFlush() 之前,Serilog 不会将日志写入 Seq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46255928/

相关文章:

c# - Serilog - 如何手动将格式化消息呈现为字符串?

servicestack - 将自定义接收器与 ServiceStack.Logging.Serilog 一起使用?

c# - 如何使用 serilog 自定义异常输出

.net - Serilog - 应用程序名称的 AppSettings

Serilog Seq 输出模板

c# - ASP.NET Core 日志记录不适用于生产

logging - Serilog.ILogger 可以转换为 Microsoft.Extensions.Logging.ILogger 吗?

.net-core - Serilog 将空白 CorrelationId 发送到 Seq 记录器

azure - Serilog Seq Sink 并不总是捕获事件