Share via


適用於 JavaScript 的 Azure 記錄器用戶端連結庫 - 1.1.2 版

@azure/logger 套件可供您在適用於 JavaScript 的 Azure SDK 中啟用記錄。

您可以透過下列方式為 Azure SDK 啟用記錄:

  • 設定 AZURE_LOG_LEVEL 環境變數
  • 呼叫從 「@azure/logger」 匯入的 setLogLevel
  • 在特定記錄器上呼叫 enable()
  • 使用 DEBUG 環境變數。

請注意,經過設定後,AZURE_LOG_LEVEL 將優先於 DEBUG。 單純使用 DEBUG,而無需指定 AZURE_LOG_LEVEL 或呼叫 setLogLevel。

開始使用

安裝

使用 npm 安裝此程式庫,如下所示

npm install @azure/logger

重要概念

@azure/logger 套件支援下列記錄層級,以最詳細到最不詳細的順序指定:

  • verbose
  • info
  • warning
  • error

當您以程式設計方式或透過 AZURE_LOG_LEVEL 環境變數設定記錄層級時,使用等於或低於您選擇的記錄層級所寫入的任何記錄都會發出。

例如,將記錄層級設定為 warning,會導致屬於記錄層級 warningerror 的所有記錄發出。

注意:記錄要求和回應時,我們會清理這些物件,以確保不會記錄包含秘密的標頭之類的 Authorization 專案。

永遠不會記錄要求和響應主體。 除非出現在下列清單中或用戶端 SDK 明確允許,否則標頭預設會進行修訂:

  • “x-ms-client-request-id”,
  • “x-ms-return-client-request-id”,
  • “x-ms-useragent”,
  • “x-ms-correlation-request-id”,
  • “x-ms-request-id”,
  • “client-request-id”,
  • “ms-cv”,
  • “return-client-request-id”,
  • “traceparent”,
  • “Access-Control-Allow-Credentials”,
  • “Access-Control-Allow-Headers”,
  • “Access-Control-Allow-Methods”,
  • “Access-Control-Allow-Origin”,
  • “Access-Control-Expose-Headers”,
  • “Access-Control-Max-Age”,
  • “Access-Control-Request-Headers”,
  • “Access-Control-Request-Method”,
  • “Origin”,
  • “Accept”,
  • “Accept-Encoding”,
  • “Cache-Control”,
  • “Connection”,
  • “Content-Length”,
  • “Content-Type”,
  • “Date”,
  • “ETag”,
  • “Expires”,
  • “If-Match”,
  • “If-Modified-Since”,
  • “If-None-Match”,
  • “If-Unmodified-Since”,
  • “Last-Modified”,
  • “Pragma”,
  • “Request-Id”,
  • “Retry-After”,
  • “Server”,
  • “Transfer-Encoding”,
  • “User-Agent”,
  • “WWW-Authenticate”,

範例

範例 1 - 基本使用方式

const { EventHubClient } = require('@azure/event-hubs');

const logger = require('@azure/logger');
logger.setLogLevel('info');

// operations will now emit info, warning, and error logs
const client = new EventHubClient(/* params */);
client.getPartitionIds()
  .then(ids => { /* do work */ })
  .catch(e => { /* do work */ });
});

範例 2 - 重新導向記錄輸出

const { AzureLogger, setLogLevel } = require("@azure/logger");

setLogLevel("verbose");

// override logging to output to console.log (default location is stderr)
AzureLogger.log = (...args) => {
  console.log(...args);
};

若您使用 AzureLogger,便可覆寫 AzureLogger.log 方法,以重新導向 Azure SDK 輸出的記錄。 如果您想將記錄重新導向至 stderr 以外的位置,可善用這個方法。

後續步驟

您可執行 rushx test 以在本機組建和執行測試。 請在 test 資料夾中查看公用類別的進階使用方式和行為。

疑難排解

如果您在使用此程式庫時遇到問題,可隨時提出問題

參與

如果您希望向此程式庫投稿,請參閱投稿指南,深入瞭解如何組建與測試程式碼。

曝光數