UNPKG

@gambito-corp/mbs-library

Version:

Librería de componentes React reutilizables - Sistema de diseño modular y escalable

49 lines (37 loc) 1.27 kB
import fs from 'fs-extra'; import path from 'path'; class Logger { constructor() { this.logDir = path.join(process.cwd(), '.mbs', 'logs'); this.logFile = path.join(this.logDir, 'mbs.log'); this.ensureLogDir(); } async ensureLogDir() { await fs.ensureDir(this.logDir); } formatMessage(level, message, data = null) { const timestamp = new Date().toISOString(); let logMessage = `[${timestamp}] ${level.toUpperCase()}: ${message}`; if (data) { logMessage += `\nData: ${JSON.stringify(data, null, 2)}`; } return logMessage + '\n'; } async writeLog(level, message, data = null) { const formattedMessage = this.formatMessage(level, message, data); await fs.appendFile(this.logFile, formattedMessage); } info(message, data = null) { this.writeLog('info', message, data); } error(message, data = null) { this.writeLog('error', message, data); } warn(message, data = null) { this.writeLog('warn', message, data); } debug(message, data = null) { this.writeLog('debug', message, data); } } export const logger = new Logger();