gpt4 book ai didi

Azure Application Insights 日志严重性级别

转载 作者:行者123 更新时间:2023-12-03 19:09:54 25 4
gpt4 key购买 nike

我试图找出我的代码或方法有什么问题。我正在使用 Azure Functions (v3) 并使用 ILogger 接口(interface)来记录函数中的事件。这是我正在使用的示例代码:

        [FunctionName("GetVersion")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("[TEST] this is informational");
log.LogDebug("[TEST] this is debug");
log.LogTrace("[TEST] this is trace");
return new OkResult();
}

我的 Azure Functions 已启用 Application Insights,因此日志将写入跟踪表,我可以像这样查询它们:

traces 
| order by timestamp
| where operation_Name == 'GetVersion'
| project timestamp,message,severityLevel
| limit 200

但结果如下所示(列是时间戳、消息,最后一列是日志严重性级别):

enter image description here

我遇到的问题是:

  1. 跟踪和调试日志的严重性均为 0,但它们应该具有不同的级别。
  2. 实际严重级别与 MS 文档不同。跟踪应为 0 且调试 1 https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.loglevel?view=dotnet-plat-ext-3.1

预期行为是 App Insights 中的严重性与文档中的严重性级别相匹配。我在这里缺少什么?

附注我的 host.json 看起来像这样

{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingExcludedTypes": "Request",
"samplingSettings": {
"isEnabled": true
}
},
"logLevel": {
"default": "Information",
"Host.Results": "Information",
"Function": "Debug",
"Function.GetVersion": "Trace",
"Host.Aggregator": "Trace"
}
}
}

最佳答案

应用程序见解的严重性级别如下:https://learn.microsoft.com/en-us/dotnet/api/microsoft.applicationinsights.datacontracts.severitylevel?view=azure-dotnet

ILogger 中的“LogDebug”和“LogTrace”对于应用程序洞察而言是“详细”的。因此,据我所知,Application Insights 无法区分或过滤掉您记录为“LogTrace”的内容并过滤掉您记录为“LogDebug”的内容。

关于Azure Application Insights 日志严重性级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62541726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com