【问题标题】:How to set up Winston loggin with Sequelize properly?如何使用 Sequelize 正确设置 Winston 日志记录?
【发布时间】:2021-07-16 14:16:21
【问题描述】:

我正在使用 Sequelize 配置 winston。我有以下内容:

const logger = winston.createLogger({
    level: 'info',
    format: winston.format.json(),
    transports: [
        new winston.transports.File({ filename: path.join('logs', 'error.log'), level: 'error' }),
        new winston.transports.File({ filename: path.join('logs', 'info.log'), level: 'info' }),
        new winston.transports.File({ filename: path.join('logs', 'combined.log') }),
    ],
});

const sequelize = new Sequelize(
    database.database,
    database.user,
    database.password,
    {
        host: database.host,
        dialect: 'mysql',
        logging: (msg) => logger.info(msg),
    }
);

但是,日志文件显示级别之前的消息:

{"message":"Database connection has been established successfully.","level":"info"}

此外,时间戳不会显示为shown here

有什么办法吗?

【问题讨论】:

    标签: javascript node.js sequelize.js winston


    【解决方案1】:
    const logger = winston.createLogger({
      level: 'info',
      format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
      //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      transports: [
        new winston.transports.File({ filename: path.join('logs', 'error.log'), level: 'error', timestamp: true }),
        new winston.transports.File({ filename: path.join('logs', 'info.log'), level: 'info', timestamp: true }),
        new winston.transports.File({ filename: path.join('logs', 'combined.log'), timestamp: true }),
      ],
    });
    

    https://stackoverflow.com/a/48573091/11343720

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 2015-08-05
    • 1970-01-01
    • 2019-09-29
    • 2015-04-15
    • 1970-01-01
    • 2014-12-03
    相关资源
    最近更新 更多