1

我正在使用 Serilog 和 Serilog.Sinks.Seq 将事件发送到 Seq。一些事件到达 Seq 日志,但有些事件丢失。

如何确保在执行 Lambda 函数期间发送的所有事件都到达 Seq?

4

1 回答 1

1

Serilog 出于性能原因缓冲事件,因此如果应用程序突然退出,它可能无法按照您的建议转发所有日志条目。

在您的 lambda 函数完成之前,请尝试调用Log.CloseAndFlush();以确保在应用程序退出之前处理任何缓冲的事件。如果您使用 ILogger 而不是静态 Log 类,那么您将需要处置 ILogger 而不是调用CloseAndFlush().

如果您有兴趣, Serilog 的记录器生命周期页面会提供更多详细信息。

于 2021-11-05T00:41:51.297 回答