{"version":3,"sources":["/Users/jeff/code/oss/logsdx/dist/chunk-MA4X2JPV.cjs","../src/utils/logger.ts"],"names":[],"mappings":"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","file":"/Users/jeff/code/oss/logsdx/dist/chunk-MA4X2JPV.cjs","sourcesContent":[null,"import type { LogLevel, LoggerConfig } from \"@/src/types\";\n\nconst LOG_LEVELS: Record<LogLevel, number> = {\n  debug: 0,\n  trace: 0,\n  info: 1,\n  success: 1,\n  warn: 2,\n  error: 3,\n};\n\nexport class Logger {\n  private readonly config: LoggerConfig;\n\n  constructor(config: LoggerConfig) {\n    this.config = {\n      level: config.level,\n      prefix: config.prefix ?? \"\",\n      timestamp: config.timestamp ?? true,\n    };\n  }\n\n  private formatMessage(level: LogLevel, message: string): string {\n    const parts: string[] = [];\n\n    if (this.config.timestamp) {\n      parts.push(`[${new Date().toISOString()}]`);\n    }\n\n    parts.push(`[${level.toUpperCase()}]`);\n\n    if (this.config.prefix) {\n      parts.push(`[${this.config.prefix}]`);\n    }\n\n    parts.push(message);\n\n    return parts.join(\" \");\n  }\n\n  private shouldLog(level: LogLevel): boolean {\n    return LOG_LEVELS[level] >= LOG_LEVELS[this.config.level];\n  }\n\n  debug(message: string): void {\n    if (this.shouldLog(\"debug\")) {\n      console.error(this.formatMessage(\"debug\", message));\n    }\n  }\n\n  info(message: string): void {\n    if (this.shouldLog(\"info\")) {\n      console.info(this.formatMessage(\"info\", message));\n    }\n  }\n\n  warn(message: string): void {\n    if (this.shouldLog(\"warn\")) {\n      console.error(this.formatMessage(\"warn\", message));\n    }\n  }\n\n  error(message: string, error?: Error): void {\n    if (this.shouldLog(\"error\")) {\n      console.error(this.formatMessage(\"error\", message));\n      if (error) {\n        console.error(error);\n      }\n    }\n  }\n\n  // Create a new logger instance with updated config\n  withConfig(config: Partial<LoggerConfig>): Logger {\n    return new Logger({\n      ...this.config,\n      ...config,\n    });\n  }\n}\n\n// Create a default logger instance\nexport const logger = new Logger({\n  level: \"info\",\n  timestamp: true,\n});\n"]}