UNPKG

webrtc2-logger

Version:

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

99 lines (97 loc) 2.72 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.ts var index_exports = {}; __export(index_exports, { Logger: () => Logger, VERSION: () => VERSION, createLogger: () => createLogger, logger: () => logger }); module.exports = __toCommonJS(index_exports); 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"; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { Logger, VERSION, createLogger, logger });