【问题标题】:NLog with azure blob storage container file size具有 azure blob 存储容器文件大小的 NLog
【发布时间】:2019-11-17 05:25:36
【问题描述】:

我在我的应用程序中配置了 NLog 与 azure BLOB 存储。但是如果我的日志 内容太大,比如 500 000 行,那么它只存储 50 000。

每个 BLOB 容器文件可以存储多少日志行?

【问题讨论】:

    标签: nlog azure-blob-storage


    【解决方案1】:

    认为您正在满足单个 blob 中 50000 个块的硬性限制:

    https://docs.microsoft.com/en-us/azure/storage/common/storage-scalability-targets#azure-blob-storage-scale-targets

    一次写一行时,每一行变成一个块。

    我猜 NLog Blob Target 应该有一些批处理逻辑,并且每 1-2 秒才写入一次。 (可以通过应用具有非频繁刷新间隔的 AsyncWrapper 或 BufferingWrapper 来完成)。

    我猜 NLog Blob 目标应该尝试跟踪写入操作的数量。并在达到 49999 次写入时自动滚动(并且由于达到块限制而失败时也会滚动)。

    【讨论】:

      【解决方案2】:

      已创建新的更新 NLog Blob 存储目标。它默认执行批处理,并减少满足 50000 文件操作限制的机会。

      见:https://www.nuget.org/packages/NLog.Extensions.AzureBlobStorage/

      【讨论】:

        猜你喜欢
        • 2019-03-08
        • 1970-01-01
        • 1970-01-01
        • 2020-09-23
        • 2012-12-31
        • 2021-04-30
        • 2018-05-07
        • 2021-06-13
        • 1970-01-01
        相关资源
        最近更新 更多