UNPKG

logsdx

Version:

log streaming with dx on the 🧠

74 lines (69 loc) • 1.83 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/utils/logger.ts var LOG_LEVELS = { debug: 0, trace: 0, info: 1, success: 1, warn: 2, error: 3 }; var Logger = class _Logger { constructor(config) { this.config = { level: config.level, prefix: _nullishCoalesce(config.prefix, () => ( "")), timestamp: _nullishCoalesce(config.timestamp, () => ( true)) }; } formatMessage(level, message) { const parts = []; if (this.config.timestamp) { parts.push(`[${(/* @__PURE__ */ new Date()).toISOString()}]`); } parts.push(`[${level.toUpperCase()}]`); if (this.config.prefix) { parts.push(`[${this.config.prefix}]`); } parts.push(message); return parts.join(" "); } shouldLog(level) { return LOG_LEVELS[level] >= LOG_LEVELS[this.config.level]; } debug(message) { if (this.shouldLog("debug")) { console.error(this.formatMessage("debug", message)); } } info(message) { if (this.shouldLog("info")) { console.info(this.formatMessage("info", message)); } } warn(message) { if (this.shouldLog("warn")) { console.error(this.formatMessage("warn", message)); } } error(message, error) { if (this.shouldLog("error")) { console.error(this.formatMessage("error", message)); if (error) { console.error(error); } } } // Create a new logger instance with updated config withConfig(config) { return new _Logger({ ...this.config, ...config }); } }; var logger = new Logger({ level: "info", timestamp: true }); exports.Logger = Logger; exports.logger = logger; //# sourceMappingURL=chunk-MA4X2JPV.cjs.map