node.jsloggingwinston

Node.js - How to add timestamp to logs using Winston library?


I want to add timestamp to logs.

What is the best way to achieve this?

Thanks.


Solution

  • I was dealing with the same issue myself. There are two ways I was able to do this.

    When you include Winston, it usually defaults to adding a Console transport. In order to get timestamps to work in this default case, I needed to either:

    1. Remove the console transport and add again with the timestamp option.
    2. Create your own Logger object with the timestamp option set to true.

    The first:

    var winston = require('winston');
    winston.remove(winston.transports.Console);
    winston.add(winston.transports.Console, {'timestamp':true});
    

    The second, and cleaner option:

    var winston = require('winston');
    var logger = new (winston.Logger)({
        transports: [
          new (winston.transports.Console)({'timestamp':true})
        ]
    });
    

    Some of the other options for Console transport can be found here: