UNPKG

@gohighlevel/api-client

Version:
91 lines 2.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Logger = void 0; const log_level_1 = require("./log-level"); /** * Logger class for the GHL SDK * Provides level-based logging with configurable verbosity */ class Logger { /** * Create a new Logger instance * @param level - Log level (enum or string) * @param prefix - Optional prefix for log messages (default: 'GHL SDK') */ constructor(level = log_level_1.LogLevel.WARN, prefix = 'GHL SDK') { this.level = typeof level === 'string' ? (0, log_level_1.parseLogLevel)(level) : level; this.prefix = prefix; } /** * Log an error message (always includes stack trace if available) * @param message - Error message * @param args - Additional arguments to log */ error(message, ...args) { if (this.level >= log_level_1.LogLevel.ERROR) { console.error(`[${this.prefix}] ERROR: ${message}`, ...args); } } /** * Log a warning message * @param message - Warning message * @param args - Additional arguments to log */ warn(message, ...args) { if (this.level >= log_level_1.LogLevel.WARN) { console.warn(`[${this.prefix}] WARN: ${message}`, ...args); } } /** * Log an info message * @param message - Info message * @param args - Additional arguments to log */ info(message, ...args) { if (this.level >= log_level_1.LogLevel.INFO) { console.log(`[${this.prefix}] INFO: ${message}`, ...args); } } /** * Log a debug message * @param message - Debug message * @param args - Additional arguments to log */ debug(message, ...args) { if (this.level >= log_level_1.LogLevel.DEBUG) { console.log(`[${this.prefix}] DEBUG: ${message}`, ...args); } } /** * Check if a specific log level is enabled * @param level - Log level to check * @returns True if the level is enabled */ isLevelEnabled(level) { return this.level >= level; } /** * Get the current log level * @returns Current log level */ getLevel() { return this.level; } /** * Set a new log level * @param level - New log level */ setLevel(level) { this.level = typeof level === 'string' ? (0, log_level_1.parseLogLevel)(level) : level; } /** * Create a child logger with a different prefix but same level * @param prefix - New prefix for the child logger * @returns New Logger instance */ child(prefix) { return new Logger(this.level, prefix); } } exports.Logger = Logger; //# sourceMappingURL=logger.js.map