首页 > 解决方案 > 如何在 Azure 上查看应用程序日志记录

问题描述

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

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

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

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

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

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

标签: c#azureasp.net-coreasp.net-core-2.1

解决方案


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

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

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

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

推荐阅读