const log = require('electron-log'); const { app } = require('electron'); const path = require('path'); const fs = require('fs'); class Logger { constructor() { this.initializeLogger(); } initializeLogger() { log.transports.file.resolvePath = () => { const logsPath = path.join(app.getPath('userData'), 'logs'); if (!fs.existsSync(logsPath)) { fs.mkdirSync(logsPath, { recursive: true }); } return path.join(logsPath, 'app.log'); }; if (process.env.NODE_ENV === 'development') { log.transports.console.level = 'info'; } else { log.transports.console.level = false; } log.transports.file.level = 'info'; log.transports.file.maxSize = 10 * 1024 * 1024; log.transports.file.format = '[{y}-{m}-{d} {h}:{i}:{s}.{ms}] [{level}] {text}'; this.logger = log; this.info('Logger initialized'); } info(message, ...args) { this.logger.info(message, ...args); } warn(message, ...args) { this.logger.warn(message, ...args); } error(message, ...args) { this.logger.error(message, ...args); } debug(message, ...args) { this.logger.debug(message, ...args); } } module.exports = Logger;