As I have seen many logs in blogs and I find bunyan suitable for logging but there is problem with it that it can't log to file according to their level.
Below is code structure I am following
const RotatingFileStream = require('bunyan-rotating-file-stream');
const bunyan = require('bunyan');
var log = bunyan.createLogger({
name: 'ShotPitch',
streams: [{
name: 'info',
level: 'info',
stream: new RotatingFileStream({
path: 'info.%d-%b-%y.log',
period: '1d', // daily rotation
totalFiles: 10, // keep 10 back copies
rotateExisting: true, // Give ourselves a clean file when we start up, based on period
threshold: '10m', // Rotate log files larger than 10 megabytes
totalSize: '20m', // Don't keep more than 20mb of archived log files
gzip: true // Compress the archive log files to save space
})
}, {
name: 'error',
level: 'error',
stream: new RotatingFileStream({
path: 'error.%d-%b-%y.log',
period: '1d', // daily rotation
totalFiles: 10, // keep 10 back copies
rotateExisting: true, // Give ourselves a clean file when we start up, based on period
threshold: '10m', // Rotate log files larger than 10 megabytes
totalSize: '20m', // Don't keep more than 20mb of archived log files
gzip: true // Compress the archive log files to save space
})
}]
});
log.info('Hello World');
log.error('Hello World error log');
o/p: info.log :
{"name":"ShotPitch", "pid":7621,"level":30,"msg":"Hello World","time":"2017-09-03T18:29:04.181Z","v":0}
{"name":"ShotPitch", "pid":7621,"level":50,"msg":"Hello World","time":"2017-09-03T18:29:04.181Z","v":0}
o/p: error.log :
{"name":"ShotPitch", "pid":7621,"level":50,"msg":"Hello World","time":"2017-09-03T18:29:04.181Z","v":0}
Conclusion:
info.log shows both info and error logs
error.log shows only error logs
I want info logs only in info.log but unable to do. Is there anyone that can help ?. Also if tell me how to change to level: "info" rather than level:30
A log level for a rotating file stream needs to be specified when configuring
bunyan
.By default, log output is to stdout and at the "info" level.
Error logs are thus also collected to the info log.