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, your 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 log only info
to file, preventing log file clutter.