@eventmsg/core
Version:
EventMsgV3 TypeScript library - Core protocol implementation with transport abstraction
42 lines (40 loc) • 1.25 kB
JavaScript
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