UNPKG

webrtc2-logger

Version:

WebRTC2 Logger - Structured logging system for WebRTC applications with cross-platform support, debugging tools, and performance monitoring

71 lines (70 loc) 1.64 kB
// src/index.ts var Logger = class { constructor(component, minLevel = "info") { this.levels = { debug: 0, info: 1, warn: 2, error: 3 }; this.component = component; this.minLevel = minLevel; } shouldLog(level) { return this.levels[level] >= this.levels[this.minLevel]; } log(level, message, context) { if (!this.shouldLog(level)) return; const entry = { level, message, timestamp: /* @__PURE__ */ new Date(), context, component: this.component }; const timestamp = entry.timestamp.toISOString(); const prefix = `[${timestamp}] [${level.toUpperCase()}] [${this.component}]`; const contextStr = context ? ` ${JSON.stringify(context)}` : ""; const output = `${prefix} ${message}${contextStr}`; switch (level) { case "debug": console.debug(output); break; case "info": console.info(output); break; case "warn": console.warn(output); break; case "error": console.error(output); break; } } debug(message, context) { this.log("debug", message, context); } info(message, context) { this.log("info", message, context); } warn(message, context) { this.log("warn", message, context); } error(message, context) { this.log("error", message, context); } setLevel(level) { this.minLevel = level; } }; var logger = new Logger("webrtc2"); function createLogger(component, level) { return new Logger(component, level); } var VERSION = "1.0.0"; export { Logger, VERSION, createLogger, logger };