为什么忽略了 appsettings 中的 App Insight LogLevel?
Why is the App Insight LogLevel in appsettings being ignored?
我们在 ASP.NET Core 3.1 网站中使用 ILogger
,使用 Microsoft.ApplicationInsights.AspNetCore
包,版本 2.14。我们正在尝试启用将信息性消息记录到 App Insight 中,例如 _logger.LogInformation("info here")
.
在 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"
}
}
}
它正确地获取了应用程序洞察密钥(我们确实获得了正常指标,并记录了异常等条目),但是 none 我们对 logger.LogInformation("Info here")
的调用正在 sent/recorded 在 App Insight 仪表板中。
我发现了这个类似的问题:
但答案仍然没有真正解决如何能够从 appsettings.json 文件更改日志级别与将日志级别硬编码到代码中。
从文档看来,这应该“正常工作”,但似乎没有。
Application Insights logging with .NET
我们哪里出错了?
你把 ApplicationInsights
的 LogLevel
属性 放错地方了。它应该是这样的:
"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 核心文档中的 Configure logging,了解有关提供程序特定配置的更多信息。
我们在 ASP.NET Core 3.1 网站中使用 ILogger
,使用 Microsoft.ApplicationInsights.AspNetCore
包,版本 2.14。我们正在尝试启用将信息性消息记录到 App Insight 中,例如 _logger.LogInformation("info here")
.
在 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"
}
}
}
它正确地获取了应用程序洞察密钥(我们确实获得了正常指标,并记录了异常等条目),但是 none 我们对 logger.LogInformation("Info here")
的调用正在 sent/recorded 在 App Insight 仪表板中。
我发现了这个类似的问题:
但答案仍然没有真正解决如何能够从 appsettings.json 文件更改日志级别与将日志级别硬编码到代码中。
从文档看来,这应该“正常工作”,但似乎没有。
Application Insights logging with .NET
我们哪里出错了?
你把 ApplicationInsights
的 LogLevel
属性 放错地方了。它应该是这样的:
"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 核心文档中的 Configure logging,了解有关提供程序特定配置的更多信息。