以下是我为优化 Application Insights 日志生成的成本所做的解决方法:
- 为了最大限度地减少日志数量,您可以使用较高的日志记录级别
host.json
正如您在下面的屏幕截图中看到的:
正如您所看到的,此处日志最小化,不会生成功能信息日志,并且输出日志显示在浏览器中,日志/终端中仅显示手动日志记录。
以及减少日志和优化 Azure Functions 的 AI 成本的其他方法:
- 禁用不需要的模块:编辑ApplicationInsights.config以关闭不需要的收集模块。
- 动态禁用遥测:要在代码中的任何位置有条件且动态地禁用遥测,请设置DisableTelemetry
使用标记在其上TelemetryConfiguration
实例。
此代码示例阻止将遥测数据发送到 Application Insights,但不会阻止自动收集模块收集遥测数据,为了也删除自动收集模块,请参阅此微软文档.
- .自定义日志收集:
{
"Logging": {
"LogLevel": {
"Default": "Warning"
},
"ApplicationInsights": {
"LogLevel": {
"Default": "Information"
}
}
}
}
上述配置允许 Application Insights 捕获所有Information
日志和严重warning
日志。要更改此行为,请显式覆盖提供程序的日志记录配置ApplicationInsights
如下所示:
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
}
}
还有一些技术可以管理用于遥测数据优化的数据量,例如:
请检查这些参考资料以获取更多信息:
- 解决日志在 Application Insights 中显示两次的问题
- 优化 Azure Functions 的日志记录成本
- 配置或删除必要的遥测初始化程序
另外,请访问我的实际解决方法(Ref1, Ref2)减少不必要的日志并优化成本。