检索应用程序日志文件

已完成

日志文件对于 Web 开发人员来说是一个很好的资源,但前提是要知道如何查找和使用记录的信息。 接下来你将了解可用于检索记录的信息的方法,以便进行离线分析。

日志文件存储位置

用于在 Windows 中运行 Azure Web 应用的 Azure 基础结构与 Linux 应用的基础结构不同,日志文件也不存储在相同的位置。

Windows 应用日志文件

对于 Windows 应用,文件系统日志文件存储在与 Web 应用关联的虚拟驱动器中。 此驱动器可寻址为“D:\Home”,并包含一个“日志文件”文件夹;该文件夹中有一个或多个子文件夹:

  • 应用程序 - 包含应用程序生成的消息(如果已启用“文件系统”应用程序日志记录)。
  • 详细错误 - 包含详细的 Web 服务器错误日志(如果已启用“详细的”错误消息)。
  • http - 包含 IIS 级日志(如果已启用“Web 服务器日志记录”)。
  • W3SVC<number> - 包含所有失败的 http 请求的详细信息(如果已启用“失败请求跟踪”)。

如果已启用到 Blob 容器的存储,则日志将存储在年、月、日和小时文件夹中,例如:

2019
  01
   10
    08 - log entries for the period 08:00:00 to 08:59:59 on January 10th 2019
    09 - log entries for the period 09:00:00 to 09:59:59 on January 10th 2019

在小时文件夹中,有一个或多个 CSV 文件包含该 60 分钟内保存的消息。

Linux 应用日志文件

对于 Linux Web 应用,Azure 工具目前支持的日志记录选项少于 Windows 应用。 到 STDERR 和 STDOUT 的重定向通过运行应用的基本 Docker 容器进行管理,这些消息存储在 Docker 日志文件中。 若要查看基本进程(如 Apache)记录的消息,则需要建立与 Docker 容器的 SSH 连接。

检索日志文件的方法

检索日志文件的方式取决于日志文件的类型以及你的偏好环境。 对于文件系统日志,可以使用 Azure CLI 或 Kudu 控制台。 Kudu 是 Azure 应用服务中与基于源代码管理的部署相关的许多功能背后的引擎。

Azure CLI

若要使用 Azure CLI 下载文件系统日志文件,请首先将日志文件从应用的文件系统复制到 Cloud Shell 存储,然后运行以下命令。

az webapp log download --log-file \<_filename_\>.zip  --resource-group \<_resource group name_\> --name \<_app name_\>

若要将压缩的日志文件下载到本地计算机,请使用 Cloud Shell 工具栏中的文件下载和上传工具。 下载后,文件即可在 Microsoft Excel 或其他应用中打开。

注意

Azure CLI 下载包括失败请求跟踪之外的所有应用日志。

Kudu

有一个与所有 Azure Web 应用关联的源代码管理 (SCM) 服务站点。 此站点运行 Kudu 服务和其他站点扩展。 Kudu 负责管理部署和排查 Azure Web 应用,包括查看和下载日志文件的选项。 Kudu 中可用的特定功能以及下载日志的方式取决于 Web 应用的类型。 对于 Windows 应用,可以浏览到日志文件位置,然后下载日志。 对于 Linux 应用,可能会有下载链接。

访问 Kudu 控制台的一种方法是导航到 https://<app name>.scm.azurewebsites.net,然后使用“部署凭据”登录。

此外,还可从 Azure 门户访问 Kudu。 在“应用服务”菜单的“开发工具”下,选择“高级工具”,然后在“高级工具”窗格上,选择“前往”以打开新的“Kudu 服务”选项卡。

要从 Windows 应用下载日志文件:

  1. 选择“调试控制台”,然后选择“CMD”。

    Screenshot of Kudu's environment page with a callout highlighting the Debug Console cmd menu option.

  2. 在文件浏览器部分中,选择“LogFiles”,然后对“Application”文件夹选择“下载”。 日志将作为 Application.zip 下载到计算机。

    Screenshot of Kudu's user interface. It displays a file and folder listing with a highlight next to the download icon for the Application folder.

    对于 Linux 应用,请选择“环境”页面上的下载链接。

    Screenshot of Kudu's user environment page with a callout highlighting the link to download a zip file containing the current Docker logs.

Azure 存储浏览器

要访问保存在 Azure Blob Storage 容器中的 Windows 日志,可以使用 Azure 门户。 要查看和下载日志文件容器的内容,请从门户菜单中选择“存储帐户”。 选择存储帐户,然后选择“存储浏览器”。 打开存储容器的类型(例如 Blob 容器),然后选择包含日志文件的 Blob 容器的名称。 在容器内,打开相关的年、月、日和小时文件夹,然后双击 CSV 文件将其下载到计算机。

Screenshot of the Storage browser to download Windows app logs from blob containers.

如果你的计算机上有 Microsoft Excel,则日志文件会自动作为 Excel 工作表打开。 否则,可以使用文本编辑器(如记事本)打开文件。