如何在 Azure Application Insights 中查看或筛选记录器名称的跟踪?

Luk*_*ett 2 azure azure-application-insights azure-log-analytics

当 anILogger被初始化时,我们给它一个名称,通常是类型名称。当通过它写入日志时,该值会清楚地打印到控制台。此外,配置中的严重性过滤通过此名称进行。

但是,我似乎在 Application Insights/Log Analytics 中看不到该名称。它记录了大量我不关心的内容,但似乎错过了这个主要字段。

谢谢

Ivan 要求提供代码和屏幕截图,所以这是我们多年来用来制作命名记录器的标准代码。

var logger = loggerFactory.CreateLogger("EventHub");
logger.LogInformation($"Publishing event '{eventName}' from '{sourceId}'.");
Run Code Online (Sandbox Code Playgroud)

以下是门户中日志(分析)中可用的所有字段。这些都不是记录器名称。在我看来,记录器的名称将位于前五个最有用的字段中。

日志分析字段

再次感谢。

Iva*_*ang 8

表中的列(在您的情况下,它是跟踪表)是固定的。

当您使用这行代码时loggerFactory.CreateLogger("EventHub");,“ EventHub ”实际上成为customDimensions列的属性。所以你可以使用EventHub的这个属性来过滤你的日志数据。

这是我对您的代码的测试:

var logger = loggerFactory.CreateLogger("EventHub");
logger.LogInformation($"Publishing event '{eventName}' from '{sourceId}'.");
Run Code Online (Sandbox Code Playgroud)

然后在azure门户->你的应用程序洞察->日志(Analytics)中,查询日志,你可以看到 eventHub是customDimensions的一个属性:

在此输入图像描述

如何通过eventHub的属性过滤日志:

使用此查询:

traces 
| where customDimensions.CategoryName == "eventHub"
Run Code Online (Sandbox Code Playgroud)

然后获取所有匹配的记录:

在此输入图像描述