擷取應用程式記錄檔

已完成

記錄檔是 Web 開發人員的絕佳資源,但您必須知道找到它的方式,才能使用已記錄的資訊。 此處會為您介紹用來擷取記錄資訊以供離線分析的方法。

記錄檔儲存位置

用於在 Windows 中執行 Azure Web Apps 的 Azure 基礎結構和 Linux 應用程式所使用的不同,因此記錄檔不會儲存在相同的位置。

Windows 應用程式記錄檔

如果是 Windows 應用程式,檔案系統記錄檔儲存在 Web 應用程式相關聯的虛擬磁碟機中。 此磁碟機可以 D:\Home 的形式進行定址,且包含 LogFiles 資料夾;此資料夾內有一或多個子資料夾:

  • 應用程式 - 若已啟用檔案系統應用程式記錄,則會包含應用程式產生的訊息。
  • DetailedErrors - 若已啟用詳細錯誤訊息,則會包含詳細的 Web 伺服器錯誤記錄檔。
  • http - 包含 IIS 層級記錄 (若已啟用 [Web 伺服器記錄])。
  • W3SVC<數字> - 若已啟用失敗要求追蹤,則包含所有失敗 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 應用程式記錄檔

Azure 工具目前為 Linux Web Apps 提供的記錄選項,比 Windows 應用程式還少。 STDERR 和 STDOUT 重新導向是透過執行該應用程式的基礎 Docker 容器管理,所以這些訊息會儲存至 Docker 記錄檔。 若要查看 Apache 等基礎程序記錄的訊息,請開啟 Docker 容器的 SSH 連線。

擷取記錄檔的方法

擷取記錄檔的方法取決於記錄檔的類型以及您慣用的環境。 針對檔案系統記錄檔,您可以使用 Azure CLI 或 Kudu 主控台。 Kudu 是 Azure App 服務中許多原始檔控制型部署相關功能的幕後引擎。

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

有一個原始檔控制管理 (SCM) 服務網站相關聯至所有 Azure Web 應用程式。 此網站會執行 Kudu 服務和其他網站延伸模組。 Kudu 會負責管理 Azure Web Apps 的部署與疑難排解,包括用來查看及下載記錄檔的選項。 Kudu 中可用的特定功能和下載記錄檔的方式,取決於 Web 應用程式的類型。 如果是 Windows 應用程式,您可以瀏覽至記錄檔位置,然後下載記錄。 如果是 Linux 應用程式,則可能會提供下載連結。

存取 Kudu 主控台的其中一個方法是瀏覽至 https://<應用程式名稱>.scm.azurewebsites.net,然後使用部署認證登入。

您也可以從 Azure 入口網站存取 Kudu。 在 App Service 功能表的 [開發工具] 下,選取 [進階工具],然後在 [進階工具] 窗格上,選取 [移至] 開啟新的 [Kudu 服務] 索引標籤。

從 Windows 應用程式下載記錄檔:

  1. 選取 [偵錯主控台],然後選取 [CMD]。

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

  2. 在檔案總管區段中,選取 [LogFiles],並針對 [應用程式] 資料夾選取 [下載]。 記錄會以 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 儲存體容器的 Windows 記錄,您可以使用 Azure 入口網站。 若要檢視和下載記錄檔容器的內容,請從入口網站功能表中選取 [儲存體帳戶]。 選取您的儲存體帳戶,然後選取 [儲存體瀏覽器]。 開啟儲存體容器的類型 (例如 Blob 容器),然後選取包含記錄檔的 Blob 容器名稱。 在容器中開啟相關的年、月、日或小時資料夾,然後按兩下 CSV 檔案,並下載至您的電腦。

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

如果您的電腦上有 Microsoft Excel,記錄檔會自動以 Excel 工作表開啟。 或者,您可以使用文字編輯器 (例如 [記事本]) 開啟檔案。