如何使用Bunyan维护不同文件中的信息和错误日志?

时间:2019-07-10 15:12:35

标签: node.js logging bunyan

如何使用Bunyan维护信息和错误日志的不同日志文件?我正在使用bunyan.createLogger创建两个不同的对象(logger和err)。

我引用了此链接:

Separate info and error logs bunyan

并遵循相同的步骤,实际上是在不同文件中创建了这两个对象,并在需要时分别导入。但是错误日志已保存在我的信息日志文件中。

const logger = bunyan.createLogger({
    name: "portal-api",
    streams: [
        {
            stream: new RotatingFileStream({
                type: 'rotating-file',
                level: "info",
                path: path.join(infoDir, process.env.logFileName + '-info-%d-%m-%y.log'),
                template: '-info-%d-%m-%y.log',
                period: '1d',
            })
    ]
});
module.exports = logger;
const err = bunyan.createLogger({
    name: "portal-api",
    streams: [
        {
            stream: new RotatingFileStream({
                type: 'rotating-file',
                level: "error",
                path: path.join(errDir, process.env.logFileName + '-error-%d-%m-%y.log'),
                template: '-error-%d-%m-%y.log',
                period: '1d'
            })
        }
    ]
});
module.exports = err;

1 个答案:

答案 0 :(得分:0)

它必须是一个对象

const log = bunyan.createLogger({
  name: "xyz",
  serializers: {
    req: reqSerializer,
  },
  streams: [
    {
      level: "debug",
      stream: process.stdout, 
    },
    {
      level: "info",
      path: "./logs/infolog.json",
    },
    {
      level: "error",
      path: "./logs/errorlog.json",
    },
  ],
});

现在您可以使用来登录不同的文件

log.info({.....});
log.error({.....});