UNPKG

@eventmsg/core

Version:

EventMsgV3 TypeScript library - Core protocol implementation with transport abstraction

42 lines (40 loc) 1.25 kB
import { DEFAULT_LOGGING_CONFIG, LOG_NAMESPACES } from "../types/logger.js"; import { createConsola } from "consola/basic"; //#region src/internal/logger.ts let globalConsola = createConsola({ level: DEFAULT_LOGGING_CONFIG.level ?? 3 }); /** * Configure global logging */ function configureLogging(config) { const finalConfig = { ...DEFAULT_LOGGING_CONFIG, ...config }; if (finalConfig.enabled === false) globalConsola = createConsola({ level: -999, reporters: [] }); else if (finalConfig.enabled && finalConfig.level !== -999) globalConsola = createConsola({ level: finalConfig.level ?? 3 }); else globalConsola = createConsola({ level: -999, reporters: [] }); } /** * Get logger for a component */ function getLogger(namespace) { return globalConsola.withTag(LOG_NAMESPACES[namespace]); } /** * Simple hex dump for debugging */ function hexDump(data, maxBytes = 64) { const limited = data.length > maxBytes ? data.slice(0, maxBytes) : data; const hex = Array.from(limited).map((b) => b.toString(16).padStart(2, "0")).join(" "); if (data.length > maxBytes) return `${hex} ... (${data.length - maxBytes} more bytes)`; return hex; } //#endregion export { configureLogging, getLogger, hexDump }; //# sourceMappingURL=logger.js.map