【问题标题】:How to get the logs from an Azure App Service如何从 Azure 应用服务获取日志
【发布时间】:2022-01-22 13:12:02
【问题描述】:

我有一个 Azure Pipeline,它将我的应用程序部署到 Azure 应用服务。

我的应用程序已连接到 Key Vault,并且在 Key Vault 中注册了我的数据库连接字符串。

在本地,我可以与数据库通信,但不能与 Key Vault 我承认这是因为 ActiveDirectory 注册,我真的不需要在本地访问它。其他一切正常。

但部署后,我无法测试我的应用程序。我总是收到 Swagger 的 404 错误。

我几乎可以肯定我在连接到 Key Vault 时遇到了错误,因此我需要能够查看我的应用程序的错误日志。可惜我看不到他们。

我尝试做的是以下内容:

我已将这段代码添加到program.cspublic static IHostBuilder CreateHostBuilder(string[] args) 方法中:

 Host.CreateDefaultBuilder(args)
        .ConfigureLogging(logging => logging.AddAzureWebAppDiagnostics())
            .ConfigureServices(serviceCollection => serviceCollection
                .Configure<AzureFileLoggerOptions>(options =>
                {
                    options.FileName = "azure-diagnostics-";
                    options.FileSizeLimit = 50 * 1024;
                    options.RetainedFileCountLimit = 5;
                })
                .Configure<AzureBlobLoggerOptions>(options =>
                {
                    options.BlobName = "log.txt";
                }))

但是当我转到我的应用服务的 kudu 时,我找不到任何关于我的代码中的异常的日志。而且我没有“log.txt”或“azure-diagnostics-*”文件。

如何在 Azure 应用服务上查看可能的异常?

-- 编辑 1--

我看不到与@HarshithaVeeramalla-MT 显示的相同选项:

【问题讨论】:

  • > 我总是收到 Swagger 的 404 错误。原因是部署或默认的 ASP.NET Core 模板不包含网站根目录中的默认文档。
  • 您的应用程序中有 web.config 吗?请参考这个SO Thread
  • 请参考MS Doc
  • 我的应用程序中没有 web.config,但我使用了 kudu 并看到 Azure 为我生成了一个。无论如何,我在我的应用程序中添加了一个并尝试了 SO Thread 中的所有内容,但它仍然无法正常工作......

标签: azure asp.net-core azure-devops


【解决方案1】:

要查看应用服务日志,请先在 Azure 应用服务的App Service logs 菜单中启用它。

启用App Service Logs 后,选择Log Stream,您将能够看到日志。

【讨论】:

  • 不幸的是,日志流没有显示任何错误...如果我在部署时遇到错误,例如无法访问数据库,是否会显示在此处?
  • 如果与部署有关,您将能够在 Azure DevOps 控制台中看到响应,对吧?
  • 对不起,我的意思是,在应用程序启动期间。部署进展顺利,但如果program.cs或Startup.cs执行过程中出现错误,是否会显示在日志流中?
  • 一个快速的问题 - 您是否在生产环境中启用了 Swagger?如果您没有更改它,默认情况下它将仅在开发环境中启用。
  • 我也尝试了一个直接端点而不通过 Swagger。我仍然有 404 错误
【解决方案2】:

要查看 Azure Web App Service 的日志/日志文件,需要进行如下几项设置:

  • 导航到 Azure 中的 App Service > App Service LogsMonitoring 部分 > 打开几个设置如下图所示:

现在,点击“保存”按钮保存更改。

  • 几秒钟后,为应用服务启用“Web 服务器日志记录”。
  • 转到 FileZilla 并使用您的 azure 应用服务凭据登录并遍历到应用服务的根文件夹

现在运行/浏览应用程序。

刷新File Zilla中的Log files文件夹,http文件夹与一起创建RawLogs子文件夹在里面。

有一些工具可以以可读格式读取日志文件数据,例如日志浏览器,因为日志文件包含浏览器名称、列格式的请求详细信息以及请求详细信息的值、错误信息等,

【讨论】:

  • 感谢您的帮助!我没有与您完全相同的设置,也许这​​是一个可能的问题来源?我编辑了我的主要帖子以添加屏幕截图
  • 是否为您的项目配置了 Application Insights?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-21
  • 1970-01-01
  • 2022-01-08
  • 1970-01-01
  • 2021-09-13
  • 2015-10-05
  • 1970-01-01
相关资源
最近更新 更多