0

How to maintain different log files for info and error logs using bunyan? I am creating two different objects ( logger and err) using bunyan.createLogger.

I referred this link :

Separate info and error logs bunyan

and followed the same steps , I infact created these two objects in different files and imported separately where needed. Yet the error logs are getting saved in my info log file.

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 Answers1

0

It has to be one object

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",
    },
  ],
});

Now you can log into different files with

log.info({.....});
log.error({.....});
Abbas Ali
  • 151
  • 10