UNPKG

express-api-cli

Version:

Cli tool for generating an express project. Instead of wasting extra time creating your project structure, start building right away

73 lines (69 loc) 1.7 kB
import winston, { format } from 'winston'; import 'winston-daily-rotate-file'; /** * Logger handles all logs in the application */ const logger = winston.createLogger({ format: format.combine(format.timestamp(), format.simple()), colorize: true, transports: [ new winston.transports.File({ filename: 'logs/server/error.log', level: 'error', handleExceptions: true }), new winston.transports.File({ filename: 'logs/server/all.log', level: 'info', handleExceptions: true }), new winston.transports.DailyRotateFile({ maxFiles: '14d', level: 'info', dirname: 'logs/server/daily', datePattern: 'YYYY-MM-DD', filename: '%DATE%.log' }), new winston.transports.Console({ level: 'debug', json: false, handleExceptions: true }) ] }); /** * morganLogger logs all http request in a dedicated file and on console */ const morganLogger = winston.createLogger({ format: format.combine(format.simple()), transports: [ new winston.transports.File({ filename: 'logs/requests/all.log', level: 'debug', handleExceptions: true }), new winston.transports.Console({ level: 'debug', json: false, handleExceptions: true }), new winston.transports.DailyRotateFile({ maxFiles: '14d', level: 'info', dirname: 'logs/requests/daily', datePattern: 'YYYY-MM-DD', filename: '%DATE%.log' }) ] }); export const logStream = { /** * A writable stream for winston logger. * * @param {any} message */ write(message) { morganLogger.info(message.toString()); } }; export default logger;