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

How can I see or filter traces for the logger name in Azure Application Insights?

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

但是,我似乎在 Application Insights/Log Analytics 中看不到该名称。它记录了很多我不关心但似乎错过了这个主要领域的东西。

谢谢

Ivan 要求提供代码和屏幕截图,下面是我们多年来一直使用的标准代码来制作命名记录器。

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

这里是门户中日志(分析)中可用的所有字段。 None 其中是记录器名称。在我看来,记录器的名称将出现在最有用的前五个字段中。

再次感谢。

table 中的列(在您的情况下,它是 traces table)是固定的。

当您使用这行代码 loggerFactory.CreateLogger("EventHub"); 时,“EventHub”实际上变成了 customDimensions[= 的 属性 38=] 列。因此,您可以使用 EventHub 的 属性 来过滤您的日志数据。

这是我用你的代码进行的测试:

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

然后在azure portal -> your application insights -> Logs(Analytics),查询日志,可以看到eventHub是一个属性的自定义维度:

How to filter logs via the property of eventHub:

使用这个查询:

traces 
| where customDimensions.CategoryName == "eventHub"

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

我只想补充一点,Azure 门户使用 Kusto 查询语言进行复杂查询。您可以在此处找到有关用法和语法的文档。

https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/