@bitrix24/b24jssdk
Version:
Bitrix24 REST API JavaScript SDK
68 lines (65 loc) • 2.01 kB
JavaScript
/**
* @package @bitrix24/b24jssdk
* @version 1.1.0
* @copyright (c) 2026 Bitrix24
* @license MIT
* @see https://github.com/bitrix24/b24jssdk
* @see https://bitrix24.github.io/b24jssdk/
*/
import { LogLevel } from '../types/logger.mjs';
import { Logger } from './logger.mjs';
import { NullLogger } from './null-logger.mjs';
import { ConsoleV2Handler } from './handler/console-v2-handler.mjs';
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
class LoggerFactory {
static {
__name(this, "LoggerFactory");
}
static createNullLogger() {
return NullLogger.create();
}
static createForBrowser(channel, isDevMode = false) {
if (isDevMode) {
return LoggerFactory.createForBrowserDevelopment(channel);
}
return LoggerFactory.createForBrowserProduction(channel);
}
static createForBrowserDevelopment(channel, level = LogLevel.DEBUG) {
const logger = new Logger(channel);
const handler = new ConsoleV2Handler(level);
logger.pushHandler(handler);
return logger;
}
static createForBrowserProduction(channel, level = LogLevel.ERROR) {
const logger = new Logger(channel);
const handler = new ConsoleV2Handler(level);
logger.pushHandler(handler);
return logger;
}
static async forcedLog(logger, action, message, context) {
if (typeof globalThis !== "undefined" && "vitest" in globalThis) {
return;
}
if (logger instanceof NullLogger) {
switch (action) {
case "debug":
console.log(message, context);
return;
case "info":
case "notice":
console.info(message, context);
return;
case "warning":
console.warn(message, context);
return;
default:
console.error(message, context);
return;
}
}
return logger[action](message, context);
}
}
export { LoggerFactory };
//# sourceMappingURL=logger-factory.mjs.map