// src/main/services/LoggerService.ts // electron-log 래퍼. 카테고리별 로깅을 지원한다. import log from 'electron-log' export interface CategoryLogger { info(message: string, ...args: unknown[]): void warn(message: string, ...args: unknown[]): void error(message: string, ...args: unknown[]): void debug(message: string, ...args: unknown[]): void } let initialized = false export function initLoggerService(): void { if (initialized) return initialized = true log.transports.file.maxSize = 5 * 1024 * 1024 // 5MB log.transports.file.format = '[{y}-{m}-{d} {h}:{i}:{s}.{ms}] [{level}] {text}' log.transports.console.format = '[{h}:{i}:{s}.{ms}] [{level}] {text}' } export function getLogger(category: string): CategoryLogger { const prefix = `[${category}]` return { info: (message: string, ...args: unknown[]) => log.info(`${prefix} ${message}`, ...args), warn: (message: string, ...args: unknown[]) => log.warn(`${prefix} ${message}`, ...args), error: (message: string, ...args: unknown[]) => log.error(`${prefix} ${message}`, ...args), debug: (message: string, ...args: unknown[]) => log.debug(`${prefix} ${message}`, ...args) } }