【发布时间】:2020-02-25 13:07:28
【问题描述】:
我将 ILogger (Microsoft.Extensions.Logging) 与应用程序洞察一起使用。我想知道在使用BeginScope() 时如何自动跟踪所有依赖项,如果可能的话?
例如这段代码:
using (var scope = this.logger.BeginScope(new Dictionary<string, string>
{
{ "Reference", "HelloWorld" }
}))
{
this.logger.LogDebug("Foo");
this.logger.LogInformation("Bar.");
var response = await this.httpClient.PostAsync(..); // dependency tracking
}
这会将Reference 字段记录为跟踪上的自定义维度,但是,依赖项条目没有任何自定义维度。这必须手动完成还是我遗漏了什么?
应该详细说明,这些 ^^ 未附加到跟踪的依赖项条目,我正在使用托管服务并通过 services.AddApplicationInsightsTelemetryWorkerService() 连接应用程序洞察力
【问题讨论】:
-
AFAIK 如果不通过 Ilogger 接口进行处理,则不会添加范围属性。依赖关系跟踪不是使用 ILogger 接口完成的。
-
依赖遥测没有获取范围属性。只有来自 ilogger 的痕迹才能得到它。
-
如何聚合整个依赖链?作为一个 API,你可以免费获得它,但我想作为一个工人并没有那么多。丰富上下文似乎是我认为的技巧..
标签: azure-application-insights serilog ilogger