azure-functions - Azure 函数的 ILogger.LogMetric 未

我在 .net core 3.x 上使用 Azure 函数 v3,其中 ILogger<T>通过 IServiceProvider like ILogger<T> _log = _log = serviceProvider.GetService<ILogger<T>>(); 通过相应类 T 的依赖注入(inject)创建

_log.LogMetric() 除外所有其他日志消息(跟踪、信息、错误、异常等)都被推送到 Application Insight。我检查了事务搜索的跟踪部分以及日志的跟踪和自定义指标。

甚至 host.json 文件日志记录配置似乎也是正确的。那我做错了什么?

最佳答案

Github 上有一篇关于此的帖子表明这是一个错误。有一种解决方法可以注入(inject) TelemetryClient并使用 client.TrackMetric();

您可以这样做: services.AddSingleton<TelemetryClient>(x => new TelemetryClient(configuration.GetSection("ApplicationInsights:InstrumentationKey").Get<string>()))

这里的配置,就是你的IConfigurationIConfigurationRoot

然后在注入(inject)您的服务后,只需调用方法,client.TrackMetric(metricName, metricValue, dictionaryProperties);

有问题的帖子:https://github.com/Azure/azure-webjobs-sdk/issues/2308

请注意,如果您使用的是 TelemetryClient,则需要使用此解决方法自行汇总这些指标:

https://learn.microsoft.com/en-us/dotnet/api/microsoft.applicationinsights.telemetryclient.trackmetric?view=azure-dotnet

关于azure-functions - Azure 函数的 ILogger<T>.LogMetric 未将消息记录到 Application Insight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63700693/

相关文章:

mysql - 如何使用 SQLAlchemy 为 RDS 代理设置 TLS

python - 使用 tokenizer.encode_plus 时遇到问题

react-native - 如何使选项卡栏图标的溢出在 React Native 中可点击?

firebase - 在哪里可以找到 Firebase 部署错误日志?

reactjs - CRA typescript环境导出类型时如何解决解析错误

react-native - 如何在没有 Firebase 的情况下为 React Native A

post - ESP32 异步 Web 服务器 POST 方法不起作用

python - 为什么在 Python 3.x 中的循环中使用 list() 会返回内存错误?

typescript - 数字和通用参数之间的区别

react-native - 在 React Native 中访问 DOM 元素