nlog - 将 NLog 日志保存到 Azure TableStorage 的最快方法
问题描述
我设置了一个使用 NLog 将日志消息保存到 Application Insights 和 Azure 表存储的 POC。我使用了AzureTableStorageNLogTarget
Harouny 的 NuGet 包,但我不太确定它是否是保存到表存储的最快方法。
我需要批量保存日志消息以提高性能。Harouny 会这样做,还是我应该使用一些叉子?JDetmar说他是分批写作,但Harouny也这样做吗?如果有人知道,那就太好了。
在此期间,我将尝试对其进行基准测试以找出答案,并在我了解更多信息后发布我的发现。
解决方案
我需要批量保存日志消息以提高性能。Harouny 会这样做,还是我应该使用一些叉子?JDetmar 说他是分批写作,但 Harouny 也这样做吗?如果有人知道,那就太好了。
由于代码是开源的,您可以轻松检查。
- 在两个存储库中找到目标
- 检查它们是否覆盖了
Write
接受多个 logEvents(列表或数组)的方法,例如override void Write(IList<AsyncLogEventInfo> logEvents)
结果:
JDetmar:
Write
使用单个和多个 logEvent 覆盖,因此在使用异步包装器时可以批量工作。见代码Harouny:
Write
用单个 logEvent 覆盖,而不是多个。所以没有批量写作。见代码
请注意,Harouny 未维护。(见自述文件)
推荐阅读
- python - 通过python打开特定大小的.exe文件
- flutter - 单击 BottomAppBar 项时如何替换小部件或屏幕的一部分
- mysql - 用于严格模式的 MySQL 5.7 文件 - linux - 无文件
- nginx - 为我的 VueJS 和 Flask 应用整合 NGINX 配置
- javascript - Node、Mongoose - $or 运算符未按预期运行
- node.js - 在打字稿中接受调用者的哪个数组方法
- ruby-on-rails - 我在这里正确使用模拟和存根吗?摩卡/迷你测试
- c# - 如何阻止我的程序在运行时生成与我的 nuget 包关联的随机 DLL 和 PDB 文件?
- ios - 根据速度更改 swift SKSprite 节点动画
- google-sheets - 如何在电子表格中搜索可以变化的文本?