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");
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
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.