我将Winston用作NodeJS项目的记录器。我尝试将时间戳添加到日志消息中并配置Winston以非Json方式编写控制台日志消息未成功。我的配置如下

const appRoot = require('app-root-path');
const winston = require('winston');

const options = {
    file: {
        level: 'info',
        filename: `${appRoot}/logs/app.log`,
        timestamp: true,
        handleExceptions: true,
        json: true,
        maxsize: 5242880, // 5MB
        maxFiles: 15,
        colorize: false,
    },
    console: {
        level: 'debug',
        timestamp: true,
        handleExceptions: true,
        json: false,
        colorize: true,
    },
};

const logger = winston.createLogger({
    transports: [
        new winston.transports.File(options.file),
        new winston.transports.Console(options.console)
    ],
    exitOnError: false,
});

module.exports = logger;


这就是我在其他文件中导入Winston的方式(winston配置文件位于项目的根目录):

const winston = require('../winston');


关于它为什么起作用的任何想法吗?

最佳答案

我在Winston 3中遇到此错误。请查看this section中的文档,该文档指定了记录器的格式。这样可以解决问题。

关于node.js - Winston-未添加时间戳,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51916520/

10-13 02:18