@aurracloud/mcp-cli
Version:
A command-line tool to install, manage, and setup MCP (Model Context Protocol) servers with Docker support
98 lines • 2.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.logger = void 0;
exports.setLoggerMode = setLoggerMode;
exports.getLoggerMode = getLoggerMode;
/**
* Logger level hierarchy (higher numbers = more verbose)
*/
const LOG_LEVELS = {
quiet: 0, // Only errors
normal: 1, // Errors, warnings, success, basic info
verbose: 2, // All of normal + detailed info
debug: 3 // All of verbose + debug info
};
/**
* Current logger mode - can be set globally
*/
let currentMode = 'normal';
/**
* Set the global logger mode
*/
function setLoggerMode(mode) {
currentMode = mode;
}
/**
* Get the current logger mode
*/
function getLoggerMode() {
return currentMode;
}
/**
* Check if a message should be logged based on current mode and message level
*/
function shouldLog(messageLevel) {
return LOG_LEVELS[messageLevel] <= LOG_LEVELS[currentMode];
}
/**
* Simple logger utility for MCP CLI with mode support
*/
exports.logger = {
/**
* Log info message (visible in normal, verbose, debug modes)
*/
info: (message, mode = 'normal') => {
if (shouldLog(mode)) {
console.log(`\x1b[36mINFO\x1b[0m: ${message}`);
}
},
/**
* Log success message (visible in normal, verbose, debug modes)
*/
success: (message, mode = 'normal') => {
if (shouldLog(mode)) {
console.log(`\x1b[32mSUCCESS\x1b[0m: ${message}`);
}
},
/**
* Log warning message (visible in normal, verbose, debug modes)
*/
warn: (message, mode = 'normal') => {
if (shouldLog(mode)) {
console.warn(`\x1b[33mWARN\x1b[0m: ${message}`);
}
},
/**
* Log error message (always visible, even in quiet mode)
*/
error: (message, error, mode = 'quiet') => {
if (shouldLog(mode)) {
console.error(`\x1b[31mERROR\x1b[0m: ${message}`);
if (error) {
if (error instanceof Error) {
console.error(`\x1b[31m${error.message}\x1b[0m`);
}
else {
console.error(error);
}
}
}
},
/**
* Log verbose message (visible in verbose, debug modes)
*/
verbose: (message) => {
if (shouldLog('verbose')) {
console.log(`\x1b[90mVERBOSE\x1b[0m: ${message}`);
}
},
/**
* Log debug message (visible only in debug mode)
*/
debug: (message) => {
if (shouldLog('debug')) {
console.log(`\x1b[35mDEBUG\x1b[0m: ${message}`);
}
}
};
//# sourceMappingURL=logger.js.map