Skip to content

Логирование в браузере

Класс LoggerBrowser предоставляет структурированный способ ведения логов в браузерной среде с различными уровнями логирования и стилями.

Он позволяет выводить сообщения различных уровней детализации с форматированием.

Уровни логирования

LoggerType - это перечисление (enum), которое определяет различные уровни сообщений журнала:

js
import { LoggerType } from '@bitrix24/b24jssdk'
КодПо умолчаниюОписание
desktopДаПредназначено для вывода сообщений, специфичных для настольного приложения (обычно не отображается в браузере)
logНетОбщие лог-сообщения
infoНетИнформационные сообщения, важные для понимания работы приложения
warnНетПредупреждения о потенциальных проблемах.
errorДаОшибки приложения.
traceДаПодробные трассировки стека вызовов для отладки.

LoggerBrowser

js
import { LoggerBrowser } from '@bitrix24/b24jssdk'

Класс LoggerBrowser предоставляет методы для:

  • Конфигурирования разрешенных уровней сообщений журнала.
  • Форматирования и вывода сообщений в консоль с разными уровнями (LoggerType.desktop, LoggerType.log, LoggerType.info, LoggerType.warn, LoggerType.error, LoggerType.trace).

Создание

ts
static build(
	title: string,
	isDevelopment: boolean = false
): LoggerBrowser

Создает и настраивает новый экземпляр LoggerBrowser:

ПараметрТипОписание
titlestringЗаголовок для сообщений журнала. Будет использоваться при форматировании вывода сообщений.
isDevelopmentbooleanЕсли true, включает логирование уровней log, info, и warn

Управление

  • setConfig(types: Record<string|LoggerType, boolean>): void: Устанавливает разрешенные типы сообщений.
  • enable(type: LoggerType): boolean: Включает конкретный тип сообщения. Возвращает true, если успешно, false в противном случае.
  • disable(type: LoggerType): boolean: Отключает конкретный тип сообщения. Возвращает true, если успешно, false в противном случае.
  • isEnabled(type: LoggerType): boolean: Проверяет, включен ли указанный тип лога. Возвращает true, если включен, false в противном случае.

Логирование

Каждый из этих методов принимает произвольное количество параметров (params), которые будут выведены в консоль, если соответствующий тип лога включен:

  • desktop(...params: any[]): void: Выводит сообщение на уровне desktop.
  • log(...params: any[]): void: Выводит сообщение на уровне log.
  • info(...params: any[]): void: Выводит сообщение на уровне info.
  • warn(...params: any[]): void: Выводит сообщение на уровне warn.
  • error(...params: any[]): void: Выводит сообщение на уровне error.
  • trace(...params: any[]): void: Выводит сообщение на уровне trace.

Пример

ts
import { LoggerBrowser, LoggerType } from '@bitrix24/b24jssdk'

const logger = LoggerBrowser.build(
	'MyApp',
	import.meta.env?.DEV === true // or process.env?.NODE_ENV === 'development'
)

logger.info('>> start >>>')

if(process.env.NODE_ENV === 'development')
{
	logger.enable(LoggerType.log)
}

logger.log('Processing data')
logger.info('This is an informational message.')
logger.warn('A potential warning occurred')
logger.error('This is an error message.')

// ... other logical messages ////

Этот пример демонстрирует базовое использование LoggerBrowser для создания структурированного и настраиваемого журнала в браузере.

TIP

Работу с LoggerBrowser можно протестировать в примере.

Опубликовано под лицензией MIT.