Skip to content

Instantly share code, notes, and snippets.

@mahi424
Created July 19, 2024 10:42
Show Gist options
  • Save mahi424/d511842203066dc4dc3d7c97b0c1de1d to your computer and use it in GitHub Desktop.
Save mahi424/d511842203066dc4dc3d7c97b0c1de1d to your computer and use it in GitHub Desktop.
const { createLogger, format, transports } = require('winston');
const path = require('path');
const logLevel = process.env.LOG_LEVEL || 'info';
const logDirectory = path.join(__dirname, 'logs');
const logger = createLogger({
level: logLevel,
format: format.combine(
format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
format.errors({ stack: true }),
format.splat(),
format.json()
),
defaultMeta: { service: 'my-service' },
transports: [
new transports.File({ filename: path.join(logDirectory, 'error.log'), level: 'error' }),
new transports.File({ filename: path.join(logDirectory, 'combined.log') }),
],
});
if (process.env.NODE_ENV !== 'production') {
logger.add(new transports.Console({
format: format.combine(
format.colorize(),
format.simple()
),
}));
}
module.exports = logger;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment