如何在 Application Insight 中为 Azure Function 设置范围?

问题描述 投票:0回答:1

当我在 Azure Function 中使用 Application Insight 时,它看起来像

using (_logger.BeginScope("MyLog")) 
{
 _logger.LogInformation("Test");
}

没有任何影响,即日志出现在 Application Insight 中,但它不包含 customDimensions 中的任何范围。 同样的代码在 Web api 项目中运行良好。

更新:

如果我尝试设置范围

using (_logger.BeginScope(new Dictionary<string, object> { ["Scope"] = "MyLog" }))
{
 _logger.LogInformation("Test");
}

我可以看到在 customDimensions 中设置的范围,但名称是: prop__Scope 而不是仅仅 Scope

这是一种未记录的行为还是我遗漏了什么?

azure-functions azure-application-insights
1个回答
2
投票

我可以看到在 customDimensions 中设置的范围,但名称是:prop__Scope 而不仅仅是 Scope

“添加 prop__ 前缀是为了确保之间不会发生冲突 运行时添加的字段和函数代码添加的字段。”

这是 Azure Functions 的记录行为。见

结构化日志记录(使用 Azure Functions 开发 C# 类库函数 | Microsoft Learn)

© www.soinside.com 2019 - 2024. All rights reserved.