gpt4 book ai didi

c# - 跟踪、调试和信息消息未从 WorkerService 到达 App Insights

转载 作者:行者123 更新时间:2023-12-03 00:46:02 25 4
gpt4 key购买 nike

我花了一整天的时间试图找到一些东西来解释为什么当我在 Azure 中运行 WorkerService 时在应用程序见解中没有看到任何跟踪、调试或信息消息。 WorkerService 托管在我们企业空间的 Linux (Ubuntu 18.4) VM 中,并且在所有其他方面都工作正常。

“严重”、“错误”和“警告”消息正在传递,因此连接已正确建立,但似乎有某些东西在进程结束时过滤了消息。

appsettings.json的相关日志记录部分如下:

  "Logging": {
"LogLevel": {
"Default": "Trace",
"System": "Trace",
"Microsoft": "Trace"
}
},
"ApplicationInsights": {
"LogLevel": {
"Default": "Trace",
"System": "Trace",
"Microsoft": "Trace"
}
},

...这应该能让一切顺利通过我所期望的。我的测试代码是...

log.LogTrace("WorkerService: Trace");
log.LogDebug("WorkerService: Debug");
log.LogInformation("WorkerService: Information");
log.LogWarning("WorkerService: Warning");
log.LogError("WorkerService: Error");
log.LogCritical("WorkerService: Critical");

...但是我注意到当我在本地运行代码时,输​​出窗口显示以下内容...

Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Executing action method MyWorkerService.Features.HealthCheck.HealthCheckController.GetAdvancedHealthCheck (MyWorkerService) - Validation state: Valid
MyWorkerService.Features.HealthCheck.GetAdvancedHealthCheck.Handler: Trace: Trace
MyWorkerService.Features.HealthCheck.GetAdvancedHealthCheck.Handler: Debug: Debug
MyWorkerService.Features.HealthCheck.GetAdvancedHealthCheck.Handler: Information: Information
MyWorkerService.Features.HealthCheck.GetAdvancedHealthCheck.Handler: Warning: Warning
Application Insights Telemetry: {"name":"AppTraces","time":"2020-12-15T08:04:49.6657815Z","iKey":"8d4d3ae1-xxxx-xxxx-xxxx-029e472df754","tags":{"ai.application.ver":"1.0.0.0" ...<snip>... "TraceId":"520378xxxxxxxxxxxxxxxxxxxxe5a1b5"}}}}
MyWorkerService.Features.HealthCheck.GetAdvancedHealthCheck.Handler: Error: Error
Application Insights Telemetry: {"name":"AppTraces","time":"2020-12-15T08:04:49.6688389Z","iKey":"8d4d3ae1-xxxx-xxxx-xxxx-029e472df754","tags":{"ai.application.ver":"1.0.0.0" ...<snip>... "TraceId":"520378xxxxxxxxxxxxxxxxxxxxe5a1b5"}}}}
MyWorkerService.Features.HealthCheck.GetAdvancedHealthCheck.Handler: Critical: Critical
Application Insights Telemetry: {"name":"AppTraces","time":"2020-12-15T08:04:49.6854384Z","iKey":"8d4d3ae1-xxxx-xxxx-xxxx-029e472df754","tags":{"ai.application.ver":"1.0.0.0" ...<snip>... "TraceId":"520378xxxxxxxxxxxxxxxxxxxxe5a1b5"}}}}

...这还表明跟踪、调试和信息消息未发送到 Azure。

我正在使用“Microsoft.ApplicationInsights.WorkerService”Version="2.16.0"nuget 包,但看不到我还需要配置什么来更改限制传输数据的过滤器。

感谢任何帮助或建议。

最佳答案

对于appsettings.json,请确保您已将属性复制到输出目录设置为复制如果较新(在Visual Studio中,右键单击 appsettings.json -> 选择属性)。

然后将 ApplicationInsights 部分放入 Logging 部分。如下所示:

{
"Logging": {
"LogLevel": {
"Default": "Trace",
"Microsoft": "Trace",
"Microsoft.Hosting.Lifetime": "Trace"
},
"ApplicationInsights": {
"LogLevel": {
"Default": "Trace",
"System": "Trace",
"Microsoft": "Trace"
}
}
}
}

这是我这边的测试结果:

enter image description here

关于c# - 跟踪、调试和信息消息未从 WorkerService 到达 App Insights,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65315824/

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