Implement logging
Created by: ZackarieP
Use Winston JS to implement this, looks to be very easy.
Create file called logger.js in root directory
const { createLogger, format, transports } = require('winston');
const { combine, timestamp, printf } = format;
// Define log format
const logFormat = printf(({ timestamp, level, message }) => {
return `${timestamp} [${level.toUpperCase()}]: ${message}`;
});
// Create the logger
const logger = createLogger({
level: 'info', // Set the minimum log level to display (options: error, warn, info, verbose, debug, silly)
format: combine(timestamp(), logFormat), // Use the log format defined above
transports: [
new transports.Console(), // Log to the console
new transports.File({ filename: 'logs.log' }) // Log to a file named logs.log
],
});
module.exports = logger;
Reference logger.js in code where you want to implement logging
const logger = require('./logger');
// Example usage
logger.info('This is an info message.');
logger.warn('This is a warning message.');
logger.error('This is an error message.');