Поделиться через


Клиентская библиотека Средства ведения журнала Azure для JavaScript версии 1.1.2

Пакет @azure/logger можно использовать для включения ведения журнала в пакетах SDK Azure для JavaScript.

Ведение журнала можно включить для пакета AZURE SDK следующими способами:

  • Установить переменную среды AZURE_LOG_LEVEL
  • Вызов setLogLevel, импортированный из "@azure/logger"
  • Включить функцию enable() для определенных средств ведения журнала
  • Использовать переменную среды DEBUG.

Обратите внимание, что переменная AZURE_LOG_LEVEL, если задана, имеет приоритет над DEBUG. Используйте DEBUG только без указания AZURE_LOG_LEVEL или вызова setLogLevel.

Начало работы

Установка

Установите эту библиотеку с помощью npm следующим образом

npm install @azure/logger

Основные понятия

Пакет @azure/logger поддерживает следующие уровни журналов, указанные, начиная от самых подробных:

  • verbose
  • сведения
  • warning
  • error

Если установить уровень журнала программными средствами или с помощью переменной среды AZURE_LOG_LEVEL, будут выданы все журналы с указанным или более низким уровнем.

Например, установка уровня журнала в значение warning приведет выводу всех журналов с уровнем warning или error.

ПРИМЕЧАНИЕ. При ведении журнала запросов и ответов мы очищаем эти объекты, чтобы убедиться, что такие элементы, как 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-Encoding",
  • "Cache-Control",
  • "Подключение",
  • "Content-Length",
  • "Content-Type",
  • "Date",
  • "ETag",
  • "Срок действия истекает",
  • "If-Match",
  • "If-Modified-Since",
  • "If-None-Match",
  • "If-Unmodified-Since",
  • "Последнее изменение",
  • "Pragma",
  • "Идентификатор запроса",
  • "Повторить после",
  • "Server",
  • "Transfer-Encoding",
  • "Агент пользователя",
  • "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 можно перенаправить вывод журнала из пакетов SDK Azure переопределенным методом AzureLogger.log. Это полезно, если необходимо перенаправить вывод журналов в другое место, кроме stderr (дескриптор стандартного вывода ошибок).

Дальнейшие действия

Вы можете создавать и запускать тесты локально с помощью команды rushx test. Изучите папку test, чтобы увидеть расширенное использование и поведение открытых классов.

Устранение неполадок

Если при использовании этой библиотеки возникают проблемы, вы можете сообщить о проблеме.

Участие

Если вы хотите вносить изменения в эту библиотеку, ознакомьтесь с руководством по внесению изменений, в котором содержатся сведения о создании и тестировании кода.

Просмотры