UNPKG

create-new-express-app

Version:

A CLI tool to create a TypeScript Express application with best practices

54 lines (44 loc) 1.15 kB
import winston from "winston"; // import * as path from "path"; // import * as fs from "fs"; // const logDir = path.join(__dirname, "../utils/logs"); const levels = { error: 0, warn: 1, info: 2, http: 3, debug: 4, }; const level = () => { const env = process.env.NODE_ENV || "development"; const isDevelopment = env === "development"; return isDevelopment ? "debug" : "warn"; }; const colors = { error: "red", warn: "yellow", info: "green", http: "bold cyan", debug: "white", }; winston.addColors(colors); const format = winston.format.combine( winston.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss:ms" }), 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: "./src/v1/utils/logs/error.log", // level: "error", // }), // new winston.transports.File({ filename: "./src/v1/utils/logs/all.log" }), ]; const logger = winston.createLogger({ level: level(), levels, format, transports, }); export default logger;