Files
PM_test/logger.js
2026-06-12 17:14:03 +09:00

40 lines
1.1 KiB
JavaScript

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;