zcatalyst-cli
Version:
Command Line Tool for CATALYST
91 lines (90 loc) • 3.71 kB
JavaScript
;
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;