gpt4 book ai didi

c# - 为什么 ASP.NET Core 3.1 应用程序中的 appsettings 中的 Appinsight 日志级别被忽略?

转载 作者:行者123 更新时间:2023-12-03 15:48:28 24 4
gpt4 key购买 nike

我们在 ASP.NET Core 3.1 网站中使用 ILogger,使用 Microsoft.ApplicationInsights.AspNetCore 包,版本 2.14。我们正在尝试启用将信息性消息记录到 App Insight 中,例如。 _logger.LogInformation("这里的信息')

在 ConfigureServices 中启动时,我们启用 App Insights:

services.AddApplicationInsightsTelemetry();

我们的 appsettings.json 文件中有以下内容:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"ApplicationInsights": {
"InstrumentationKey": "12345678-1234-5678-1234-1234567890ab",
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},

它正确获取应用程序洞察键(我们确实获得了正常指标、日志条目,例如异常),但是我们对 logger.LogInformation("Info here") 的调用都没有被发送/记录在 App Insight 仪表板中。

我发现了这个类似的问题:

ILogger Not Respecting Log Level for Application Insights

但是答案仍然没有真正解决如何能够从 appsettings.json 文件更改日志级别与将日志级别硬编码到代码中。

从文档来看,这似乎应该“正常工作”,但似乎没有。

https://docs.microsoft.com/en-us/azure/azure-monitor/app/ilogger#control-logging-level

我们哪里错了?

最佳答案

您在错误的位置获得了LogLevelApplicationInsights属性。它应该是这样的:

"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
},
"ApplicationInsights": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
},
"ApplicationInsights": {
"InstrumentationKey": "12345678-1234-5678-1234-1234567890ab"
}
日志级别配置位于 Logging父级之下,但 InstrumentationKey位于该层次结构之外。
有关特定于提供程序的配置的更多信息,请参阅官方 ASP.NET Core 文档中的 Configure logging

关于c# - 为什么 ASP.NET Core 3.1 应用程序中的 appsettings 中的 Appinsight 日志级别被忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61636868/

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