摩根和温斯顿:使用DailyRotateFile

时间:2019-09-18 08:58:20

标签: node.js winston morgan

我在这里阅读了如何将Morgan日志写入文件:Morgan Logger + Express.js: writing file AND showing in console,但是如何利用Winston的DailyRotateFile()来每天制作一个单独的文件(防止大文件文件)并自动清除旧文件?

当前,我将其用于自定义错误级别,这对Morgan来说也非常有用:

new winston.transports.DailyRotateFile({
    filename: `${appRoot}/logs/product-%DATE%.log`,
    level: 'product',
    datePattern: 'YYYY-MM-DD',
    maxSize: '20m',
    maxFiles: '14d',
    format: winston.format.combine(
        winston.format.colorize(),
        winston.format.timestamp({
            format: 'DD-MM-YYYY HH:mm:ss'
        }),
        winston.format.label({label: getLabel(callingModule)}),
        winston.format.printf(info => `[${info.timestamp}] [${info.level}] [${info.label}]: ${info.message}`)
    ),
 })

摩根通过以下方式链接到Winston:

app.use(morgan("combined", {stream: winston.stream}));

在我的winston配置文件中:

logger.stream = {
    write: (message, encoding) => {
       logger.info(message);
    }
}

0 个答案:

没有答案