Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- const { createLogger, format, transports } = require('winston');
- require('winston-daily-rotate-file');
- const fs = require('fs');
- const path = require('path');
- const env = process.env.NODE_ENV || 'development';
- const logDir = 'log';
- // Create the log directory if it does not exist
- if (!fs.existsSync(logDir)) {
- fs.mkdirSync(logDir);
- }
- const dailyRotateFileTransport = new transports.DailyRotateFile({
- filename: `${logDir}/%DATE%-results.log`,
- datePattern: 'YYYY-MM-DD'
- });
- const logger = createLogger({
- // change level if in dev environment versus production
- level: env === 'development' ? 'verbose' : 'info',
- format: format.combine(
- format.timestamp({
- format: 'YYYY-MM-DD HH:mm:ss'
- }),
- format.printf(info => `${info.timestamp} ${info.level}: ${info.message}`)
- ),
- transports: [
- new transports.Console({
- level: 'info',
- format: format.combine(
- format.colorize(),
- format.printf(
- info => `${info.timestamp} ${info.level}: ${info.message}`
- )
- )
- }),
- dailyRotateFileTransport
- ]
- });
- logger.error('error message');
- logger.warn('warn message');
- logger.info('info message');
- logger.verbose('verbose message');
- logger.debug('debug message');
- logger.silly('silly message');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement