0

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

我提到了这个链接:

单独的信息和错误日志 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;
4

1 回答 1

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({.....});
于 2020-06-14T20:35:33.373 回答