【发布时间】:2019-11-17 05:25:36
【问题描述】:
我在我的应用程序中配置了 NLog 与 azure BLOB 存储。但是如果我的日志 内容太大,比如 500 000 行,那么它只存储 50 000。
每个 BLOB 容器文件可以存储多少日志行?
【问题讨论】:
我在我的应用程序中配置了 NLog 与 azure BLOB 存储。但是如果我的日志 内容太大,比如 500 000 行,那么它只存储 50 000。
每个 BLOB 容器文件可以存储多少日志行?
【问题讨论】:
认为您正在满足单个 blob 中 50000 个块的硬性限制:
一次写一行时,每一行变成一个块。
我猜 NLog Blob Target 应该有一些批处理逻辑,并且每 1-2 秒才写入一次。 (可以通过应用具有非频繁刷新间隔的 AsyncWrapper 或 BufferingWrapper 来完成)。
我猜 NLog Blob 目标应该尝试跟踪写入操作的数量。并在达到 49999 次写入时自动滚动(并且由于达到块限制而失败时也会滚动)。
【讨论】:
已创建新的更新 NLog Blob 存储目标。它默认执行批处理,并减少满足 50000 文件操作限制的机会。
见:https://www.nuget.org/packages/NLog.Extensions.AzureBlobStorage/
【讨论】: