UNPKG

typescript-scaffolder

Version:

![npm version](https://img.shields.io/npm/v/typescript-scaffolder) ![coverage](https://img.shields.io/badge/coverage-97.38%25-green)

66 lines (65 loc) 2.64 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Logger = exports.LogTag = exports.LogLevel = void 0; const util_1 = __importDefault(require("util")); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); var LogLevel; (function (LogLevel) { LogLevel["Debug"] = "debug"; LogLevel["Info"] = "info"; LogLevel["Warn"] = "warn"; LogLevel["Error"] = "error"; })(LogLevel || (exports.LogLevel = LogLevel = {})); var LogTag; (function (LogTag) { LogTag["Debug"] = "[DEBUG]"; LogTag["Info"] = "[INFO]"; LogTag["Warn"] = "[WARN]"; LogTag["Error"] = "[ERROR]"; })(LogTag || (exports.LogTag = LogTag = {})); class Logger { static prefix = '[codegen]'; static logDir = path_1.default.resolve(process.cwd(), 'logs'); static logFile = path_1.default.join(Logger.logDir, `${new Date().toISOString().split('T')[0]}-codegen.log`); static { if (!fs_1.default.existsSync(Logger.logDir)) { fs_1.default.mkdirSync(Logger.logDir, { recursive: true }); } } static append(level, funcTag, message) { const entry = `${new Date().toISOString()} ${level} ${funcTag} ${message}\n`; fs_1.default.appendFileSync(Logger.logFile, entry, 'utf8'); } static info(funcName, ...args) { const funcTag = `[${funcName}]`; const msg = util_1.default.format(...args); console.log(`${Logger.prefix} ${LogTag.Info} ${funcTag}`, msg); Logger.append(LogLevel.Info, funcTag, msg); } static warn(funcName, ...args) { const funcTag = `[${funcName}]`; const msg = util_1.default.format(...args); console.warn(`${Logger.prefix} ${LogTag.Warn} ${funcTag}`, msg); Logger.append(LogLevel.Warn, funcTag, msg); } static error(funcName, ...args) { const funcTag = `[${funcName}]`; const msg = util_1.default.format(...args); console.error(`${Logger.prefix} ${LogTag.Error} ${funcTag}`, msg); Logger.append(LogLevel.Error, funcTag, msg); throw new Error(`[${funcName}]${funcTag}: ${msg}`); } static debug(funcName, ...args) { const funcTag = `[${funcName}]`; if (process.env.DEBUG === 'true') { const msg = util_1.default.format(...args); console.debug(`${Logger.prefix} ${LogTag.Debug} ${funcTag}`, msg); Logger.append(LogLevel.Debug, funcTag, msg); } } } exports.Logger = Logger;