const winston = require('winston'); const winstonDaily = require('winston-daily-rotate-file'); const process = require('process'); const { combine, timestamp, label, printf } = winston.format; const logDir = `${process.cwd()}/logs`; const logFormat = printf(({ level, message, label, timestamp }) => { return `${timestamp} [${label}] ${level}: ${message}`; }); const logger = winston.createLogger({ format: combine( timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), label({ label: 'error 테스트: ' }), logFormat ), transports: [ new winstonDaily({ level: 'error', datePattern: 'YYYY-MM-DD', dirname: logDir, filename: `%DATE%.error.log`, maxFiles: 15, // 15일이후 삭제 }), ], exceptionHandlers: [ new winstonDaily({ level: 'error', datePattern: 'YYYY-MM-DD', dirname: logDir, filename: `%DATE%.exception.log`, maxFiles: 15, // 15일이후 삭제 }), ], }); module.exports = logger;