将 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.
由于代码是开源的,您可以轻松检查。
- 在两个存储库中找到目标
- 检查它们是否覆盖了接受多个 logEvents(列表或数组)的
Write
方法,例如override void Write(IList<AsyncLogEventInfo> logEvents)
结果:
JDetmar:用单个和多个 logEvent 覆盖 Write
,因此在使用异步包装器时可以分批工作。 see code
Harouny:用单个 logEvent 覆盖 Write
,而不是多个。所以没有批量写入。 see code
请注意,Harouny 没有维护。 (参见 readme)
我已经设置了一个 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.
由于代码是开源的,您可以轻松检查。
- 在两个存储库中找到目标
- 检查它们是否覆盖了接受多个 logEvents(列表或数组)的
Write
方法,例如override void Write(IList<AsyncLogEventInfo> logEvents)
结果:
JDetmar:用单个和多个 logEvent 覆盖
Write
,因此在使用异步包装器时可以分批工作。 see codeHarouny:用单个 logEvent 覆盖
Write
,而不是多个。所以没有批量写入。 see code
请注意,Harouny 没有维护。 (参见 readme)