Explain use of levels in winston logger

10,633

The level inside your transport indiciates the minimum logging level that transport will "listen out for"

From the documentation: https://github.com/winstonjs/winston#logging-levels

Each level is given a specific integer priority. The higher the priority the more important the message is considered to be

{ error: 0, warn: 1, info: 2, verbose: 3, debug: 4, silly: 5 }

So, in your example, you're transports are configured for debug: 4

This means, it will log levels

  • 4 (debug)
  • 3 (verbose)
  • 2 (info)
  • 1 (warn)
  • 0 (error)

A good use case for this would be to set one transport (Console for example) to debug, and your other to info.

This would output all debug information to the console, but only log info to file, preventing log file clutter.

Share:
10,633
Vikarn Singh Mankotia
Author by

Vikarn Singh Mankotia

Updated on June 11, 2022

Comments

  • Vikarn Singh Mankotia
    Vikarn Singh Mankotia almost 2 years

    Hey i am using this winston logger, kindly explain use of level inside the transports, what will happen if i use logger with info while logging, do i have to use debug while i log my data.

    var logger = new (winston.Logger)({
    transports: [
      new (winston.transports.Console)({
        level: 'debug',
        json: true
      }),
      new (winston.transports.File)({
        name: 'order_check',
        filename: './logs/order_check.log',
        level: 'debug'
      })
    ]
    });
    logger.log("info","request body");