UNPKG

@ancxkush/create-ts-express-mongo-starter-code

Version:

NodeJS/Express starter code with - TypeScript, MongoDB setup, Exception Handler, Logger, HTTP testing example, Swagger Docs example, Mongoose model example, JOI validation example, CRUD operations example

53 lines (44 loc) 1.03 kB
import winston from 'winston' import { NODE_ENV } from '../config/env' const levels = { error: 0, warn: 1, info: 2, http: 3, debug: 4, } const level = () => { const env = NODE_ENV || 'development' const isDevelopment = env === 'development' return isDevelopment ? 'debug' : 'warn' } const colors = { error: 'red', warn: 'yellow', info: 'green', http: 'magenta', debug: 'white', } winston.addColors(colors) const format = winston.format.combine( winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.colorize({ all: true }), winston.format.printf( (info) => `${info.timestamp} ${info.level}: ${info.message}` ) ) const transports = [ new winston.transports.Console(), new winston.transports.File({ filename: 'logs/error.log', level: 'error', }), new winston.transports.File({ filename: 'logs/all.log' }), ] const logger = winston.createLogger({ level: level(), levels, format, transports, }) export default logger