当我从 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/