2

Is it possible to log filename and method name with Winston?

I am using following code to create the logger:

var logger = winston.createLogger({
        transports: [
            new winston.transports.DailyRotateFile({
                level: 'debug',
                datePattern: 'YYYY-MM',
                filename: logDir + '/workflow/%DATE%-workflow.log',

                format: winston.format.combine(
                    winston.format.timestamp({
                        format: 'YYYY-MM-DD HH:mm:ss'
                    }),
                    winston.format.json()
                )
            })
        ]
    });

Now let us assume I am running following code in the file login.js and doLogin()

logger.info('Test');

This generates the following entry:

{"message":"Test","level":"info","timestamp":"2020-06-18 06:17:37"}

I want to do something like this:

{"message":"Test","level":"info", "file": "login.js", "method": "doLogin", "timestamp":"2020-06-18 06:17:37"}

I don't want to pass the file name and method name in very call.

Ashutosh
  • 4,371
  • 10
  • 59
  • 105
  • 1
    At least, the filename is already answered here: https://stackoverflow.com/questions/13410754/i-want-to-display-the-file-name-in-the-log-statement – Sergio Jun 18 '20 at 11:48

0 Answers0