【发布时间】:2021-11-05 00:41:51
【问题描述】:
我正在使用 Serilog 和 Serilog.Sinks.Seq 将事件发送到 Seq。一些事件到达 Seq 日志,但有些事件丢失。
如何确保在执行 Lambda 函数期间发送的所有事件都到达 Seq?
【问题讨论】:
标签: aws-lambda serilog seq-logging serilog-sinks-seq
我正在使用 Serilog 和 Serilog.Sinks.Seq 将事件发送到 Seq。一些事件到达 Seq 日志,但有些事件丢失。
如何确保在执行 Lambda 函数期间发送的所有事件都到达 Seq?
【问题讨论】:
标签: aws-lambda serilog seq-logging serilog-sinks-seq
Serilog 出于性能原因缓冲事件,因此如果应用程序突然退出,它可能无法按照您的建议转发所有日志条目。
在您的 lambda 函数完成之前,请尝试调用 Log.CloseAndFlush(); 以确保在应用程序退出之前处理任何缓冲事件。如果您使用 ILogger 而不是静态 Log 类,那么您将需要处置 ILogger 而不是调用CloseAndFlush()。
如果您有兴趣,Serilog 的 Lifecycle of Loggers 页面会提供更多详细信息。
【讨论】: