'Pino logger custom destinations based on log level and logging on nodeJS console
Im having a hard time logging on Stdout and logging in file. Is there a way to log on stdout based on log level and at the same time log in file?
As of now, my code is currently logging on text file base on their current level. Example if the log is info, it will go to info.log, if error, it will go to error.log, however i want is both on text file and on nodejs console. but i cant achieve that.
Here is my current code:
const levels = {
error: 50,
info: 20,
debug: 10,
};
const streams = Object.keys(levels).map((level) => {
return {
level: level,
stream: fs.createWriteStream(`${__dirname}/app-${level}.log`, {
flags: "a",
}),
};
});
module.exports = pinoLogger(
{
level: "info",
customLevels: levels,
useOnlyCustomLevels: true,
formatters: {
level: (label) => {
return { level: label };
},
},
},
pinoms.multistream(streams, {
levels,
dedupe: true,
})
);
Testing code:
pinoLogger.error("Test 1");
This testing code is going to "app-error.log" w/c correct, however like what i have said, i want it to nodejs console too. Thankyou :)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|