如何查看 Azure 上的应用程序日志记录

Gre*_*Gum 5 c# azure asp.net-core asp.net-core-2.1

我有一个在 azure 上运行的 aspnetcore 2.1 应用程序。

我现在想查看日志信息以调试仅在 Azure 上发生的问题。

在应用程序中, anILogger<>被注入到类中并使用: this._logger.LogInformation("constructor**********************************************");

如果我在 VS 中运行应用程序,我可以在调试输出窗口以及 asp.net 核心 Web 服务器输出窗口中看到输出。

然后我发布并继续使用 Azure 并启用日志流并查看它。我确实看到日志流中出现了信息,但这只是来自 IIS 的请求信息。我没有看到任何其他日志消息。

我还需要做什么才能查看 Azure 上的日志记录信息吗?

Kir*_*kin 4

您可以使用Microsoft.Extensions.Logging.AzureAppServices。该软件包将自身描述为:

支持 Azure 应用服务“诊断日志”和“日志流”功能的记录器实现。

安装该软件包后,您需要更新记录器配置以使用这个新的提供程序,这通常在 中完成Program.cs,如下所示:

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .ConfigureLogging(loggingBuilder =>
            {
                loggingBuilder.AddAzureWebAppDiagnostics();
            })
            ...
            .UseStartup<Startup>();
Run Code Online (Sandbox Code Playgroud)