UNPKG

zcatalyst-cli

Version:

Command Line Tool for CATALYST

91 lines (90 loc) 3.71 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.verbose = exports.transport = void 0; const strip_ansi_1 = __importDefault(require("strip-ansi")); const winston_1 = require("winston"); const config_store_1 = __importDefault(require("../config-store")); const file_names_js_1 = __importDefault(require("../constants/lib/file-names.js")); const env_1 = require("../env"); const fs_1 = require("../fs"); const usage = config_store_1.default.get('usage', false); exports.transport = { console: new winston_1.transports.Console({ level: 'info', handleExceptions: false, format: winston_1.format.printf(env_1.isCI ? (info) => (0, strip_ansi_1.default)(info.message + '') : (info) => { return info.message + ''; }) }), log_file: new winston_1.transports.File({ filename: file_names_js_1.default.log, level: 'debug', handleExceptions: true, tailable: true, format: winston_1.format.combine(winston_1.format.printf((info) => { return `[${info.level}] [${new Date().toISOString()}] : ${(0, strip_ansi_1.default)(info.message + '')}`; })) }), http_log: new winston_1.transports.File({ filename: fs_1.SYNC.tempFile(Date.now().toString() + '_' + file_names_js_1.default.http_log), level: 'debug', handleExceptions: true, format: winston_1.format.combine((0, winston_1.format)((info) => { if (info.ignoreHttpLogger) { return false; } delete info.ignoreHttpLogger; return info; })(), (0, winston_1.format)((info) => { info.message = (0, strip_ansi_1.default)(info.message + ''); return info.message === '' || info.level === 'info' ? false : info; })(), winston_1.format.json(), winston_1.format.label({ label: 'CatalystCLI/' + (0, env_1.getEnvVariable)('ZCATALYST_CLI_VERSION', '') }), winston_1.format.printf((info) => { info._zl_timestamp = Date.now(); return JSON.stringify(info); })) }) }; if (process.env.DEBUG === 'true' || process.argv.slice(2).includes('--verbose')) { verbose(); } function verbose(enable = true) { if (enable) { exports.transport.console.level = 'debug'; const formats = [ winston_1.format.timestamp({ format: 'YYYY-MM-DD hh:mm:ss.SSS A' }), winston_1.format.printf(env_1.isCI ? (info) => `[${info.timestamp}] ${info.level}: ${(0, strip_ansi_1.default)(info.message + '')}` : (info) => `[${info.timestamp}] ${info.level}: ${info.message}`) ]; if (!env_1.isCI) { formats.unshift(winston_1.format.cli({ colors: { info: 'green', error: 'red', debug: 'blue', warn: 'yellow' } })); } exports.transport.console.format = winston_1.format.combine(...formats); return; } exports.transport.console.level = 'info'; exports.transport.console.format = winston_1.format.printf((info) => { return info.message + ''; }); } exports.verbose = verbose; exports.logger = (0, winston_1.createLogger)({ transports: [exports.transport.console], exitOnError: false }); if (env_1.isWindows || (0, env_1.isPrimaryShell)()) { if (usage) { exports.logger.add(exports.transport.http_log); } exports.logger.add(exports.transport.log_file); } exports.default = exports.logger;