Логирование в браузере
Класс 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:
| Параметр | Тип | Описание |
|---|---|---|
title | string | Заголовок для сообщений журнала. Будет использоваться при форматировании вывода сообщений. |
isDevelopment | boolean | Если 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 можно протестировать в примере.