Application Insights 的日志未写入跟踪日志

Lot*_*i11 5 c# serilog azure-application-insights asp.net-core-webapi

我按照此页面Application Insights 说明将 Application Insights (AI) 添加到我的 Web API 服务。我设法让我的服务连接到人工智能,并且我能够看到我的服务何时执行发布、获取等。我还通过我的服务发出了日志调用,但它们都没有写入我的人工智能的跟踪日志。

痕迹日志

我确保设置 Startup.cs 和 appsettings.json 文件以包含在整个服务中运行 AI 所需的新代码,并且日志数据需要让 AI 抓取日志进行调试和启动。

启动.cs

public void ConfigureServices(IServiceCollection services)
{         
    services.AddApplicationInsightsTelemetry();
}
Run Code Online (Sandbox Code Playgroud)

应用程序设置.json

应用程序设置.json

记录示例

public async Task ProcessQueueAsync(dBData dbContext)
{
    // _logger is of type ILogger<[INSERT CLASS NAME]>
    _logger.LogDebug("This is a test log by Lotzi11.");
    await ProcessQueueAsyncSingle(dbContext, CancellationToken.None);
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我弄清楚为什么我的日志没有发送到人工智能吗?

Iva*_*ang 6

您的代码配置appsettings.json是正确的。我可以根据您在我这边的设置在 AI 中看到这些日志。

您应该知道的一件事是,这些数据可能需要几分钟才能到达人工智能服务器。请等待几分钟,比如5分钟或更长时间,然后再次从azure门户->应用程序洞察中查询这些数据。

这是检查数据是否发送到 AI 的简单方法。在 Visual Studio 中,运行项目时,您可以在 Visual Studio 输出窗口中搜索日志。如果您可以在那里找到日志,那么应该将其发送给 AI:

在 Visual Studio 输出窗口中搜索:

在此输入图像描述

如果您在 AI 中仍然看不到这些日志,您还应该检查您的代码中是否设置了类似filter或 的内容sampling