将 NLog 日志保存到 Azure 表存储的最快方法

Fastest way to save NLog logs to Azure TableStorage

我已经设置了一个 POC,它使用 NLog 将日志消息保存到 Application Insights 和 Azure Table 存储。我已经使用了 Harouny 的 AzureTableStorageNLogTarget NuGet 包,但我不太确定它是否是保存到 Table 存储的最快方法。

我需要将日志消息批量保存以提高性能。 Harouny 会那样做,还是我应该用叉子? JDetmar says he writes in batches, but does Harouny也做吗?如果有人知道就好了

我会尝试对它进行基准测试以在此期间找出答案,post 我会在了解更多后找到我的发现。

I need the log messages to be saved in batches for performance. Does Harouny do that, or should I use some fork? JDetmar says he writes in batches, but does Harouny also do it? If anybody knows it, it would be nice.

由于代码是开源的,您可以轻松检查。

  1. 在两个存储库中找到目标
  2. 检查它们是否覆盖了接受多个 logEvents(列表或数组)的 Write 方法,例如override void Write(IList<AsyncLogEventInfo> logEvents)

结果:

  • JDetmar:用单个和多个 logEvent 覆盖 Write,因此在使用异步包装器时可以分批工作。 see code

  • Harouny:用单个 logEvent 覆盖 Write,而不是多个。所以没有批量写入。 see code

请注意,Harouny 没有维护。 (参见 readme