@bitrix24/b24jssdk
Version:
Bitrix24 REST API JavaScript SDK
1 lines • 5.64 kB
Source Map (JSON)
{"version":3,"file":"console-handler.mjs","sources":["../../../../src/logger/handler/console-handler.ts"],"sourcesContent":["import type { Handler, HandlerOptions, LogRecord } from '../../types/logger'\nimport { LogLevel } from '../../types/logger'\nimport { AbstractHandler } from './abstract-handler'\nimport { LineFormatter } from '../formatter'\n\nexport interface ConsoleHandlerOptions extends HandlerOptions {\n useStyles?: boolean\n}\n\n/**\n * Console Handler\n */\nexport class ConsoleHandler extends AbstractHandler implements Handler {\n protected _styles: Map<LogLevel, string[]> = new Map()\n protected readonly _useStyles: boolean\n\n constructor(\n level: LogLevel = LogLevel.DEBUG,\n options?: ConsoleHandlerOptions\n ) {\n const opts = {\n useStyles: true,\n ...options\n }\n\n super(level, opts.bubble)\n this._useStyles = opts.useStyles\n this._initStyles()\n this.setFormatter(new LineFormatter())\n }\n\n protected _initStyles(): void {\n const style: string = 'color: _color_; background: _bg_; padding: 2px 6px; border-radius: 3px; font-size: 11px;'\n\n this._styles.set(LogLevel.DEBUG, [\n '%cDEBUG',\n style.replace('_color_', '#666666').replace('_bg_', '#F0F0F0')\n ])\n this._styles.set(LogLevel.INFO, [\n '%cINFO',\n style.replace('_color_', 'white').replace('_bg_', '#2196F3')\n ])\n this._styles.set(LogLevel.NOTICE, [\n '%cNOTICE',\n style.replace('_color_', 'white').replace('_bg_', '#213BF3')\n ])\n this._styles.set(LogLevel.WARNING, [\n '%cWARN',\n style.replace('_color_', 'white').replace('_bg_', '#FF9800')\n ])\n this._styles.set(LogLevel.ERROR, [\n '%cERROR',\n style.replace('_color_', 'white').replace('_bg_', '#F44336')\n ])\n this._styles.set(LogLevel.CRITICAL, [\n '%cCRITICAL',\n style.replace('_color_', 'white').replace('_bg_', '#9C27B0')\n ])\n }\n\n /**\n * @inheritDoc\n */\n public override async handle(record: LogRecord): Promise<boolean> {\n const formatter = this.getFormatter()!\n const message = formatter.format(record)\n\n let method = this._getConsoleMethod(record.level)\n if (record.context['needTrace'] === true) {\n method = 'trace'\n }\n\n const params = []\n if (this._useStyles && this._styles.has(record.level)) {\n const style = this._styles.get(record.level)!\n params.push(style[0], style[1])\n }\n params.push(message)\n console[method](\n ...params.filter(Boolean)\n )\n\n return true\n }\n\n protected _getConsoleMethod(level: LogLevel): 'log' | 'info' | 'warn' | 'error' | 'trace' {\n switch (level) {\n case LogLevel.INFO:\n case LogLevel.NOTICE:\n return 'info'\n case LogLevel.WARNING:\n return 'warn'\n case LogLevel.ERROR:\n case LogLevel.CRITICAL:\n case LogLevel.ALERT:\n case LogLevel.EMERGENCY:\n return 'error'\n default:\n return 'log'\n }\n }\n}\n"],"names":[],"mappings":"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"}