我在v2 SDK上有一个为期3周的功能,并且使用了开箱即用的App Insights支持,即只需设置环境变量和... magic。
我确实读过,默认情况下它不会发送 Information 级别的日志到AppInsights,这看起来是正确的,因为我看不到任何信息跟踪,但确实看到了偶尔的错误用我的自定义消息注销。
但是对于指标来说,它是坏的。在日志中,我可以看到一些遥测的相似之处。真奇怪。
看。
现在看看这些好奇的日志。
......看到与我的代码中的n/a
行匹配的LogMetric
吗?
当我明确搜索其中之一时,什么也没找到。
如果我深入查看这些n/a
日志。
...它们很空。
是我还是全部都是鱼?
如何以一种有效的方式记录功能的指标?
答案 0 :(得分:1)
第一,对于指标,您是指自定义指标吗?如果是,那么您应该在应用数据分析的customMetrics
表中找到它。
第二,您使用什么方法发送指标?从您的代码中,this.Logger?.LogMetric
方法的实现是什么?
要发送指标,您可以使用TrackMetric(经此方法测试并有效)或GetMetric方法。
示例代码使用TrackMetric(不建议使用,但仍可以使用)/ GetMetric(推荐)方法:
TelemetryConfiguration.Active.InstrumentationKey = "your key";
TelemetryClient client = new TelemetryClient();
client.TrackMetric("my metric", 60);
client.GetMetric("my metric").TrackValue(89);
client.Flush();
答案 1 :(得分:0)
就我而言,host.json 文件中的设置将指标排除在 Application Insights 之外。指标是在 Information
级别记录的,我最初为 Warning
级别配置了我的指标。
"logging": {
"logLevel": {
"Function.<function name>": "Information", //<--won't see metrics if set to Warning
...
有关配置日志记录级别的详细信息,请参阅 here。