Skip to main content
Glama

MCP Atlassian Server

by phuc-nt
logger.ts2.71 kB
import dotenv from 'dotenv'; // Load environment variables dotenv.config(); // Define log levels export enum LogLevel { ERROR = 0, WARN = 1, INFO = 2, DEBUG = 3 } // Define colors for output const COLORS = { RESET: '\x1b[0m', RED: '\x1b[31m', YELLOW: '\x1b[33m', BLUE: '\x1b[34m', GRAY: '\x1b[90m' }; // Get log level from environment variable const getLogLevelFromEnv = (): LogLevel => { const logLevel = process.env.LOG_LEVEL?.toLowerCase(); switch (logLevel) { case 'debug': return LogLevel.DEBUG; case 'info': return LogLevel.INFO; case 'warn': return LogLevel.WARN; case 'error': return LogLevel.ERROR; default: return LogLevel.INFO; // Default is INFO } }; /** * Logger utility */ export class Logger { private static logLevel = getLogLevelFromEnv(); private moduleName: string; /** * Initialize logger * @param moduleName Module name using the logger */ constructor(moduleName: string) { this.moduleName = moduleName; } /** * Log error * @param message Log message * @param data Additional data (optional) */ error(message: string, data?: any): void { if (Logger.logLevel >= LogLevel.ERROR) { console.error(`${COLORS.RED}[ERROR][${this.moduleName}]${COLORS.RESET} ${message}`); if (data) console.error(data); } } /** * Log warning * @param message Log message * @param data Additional data (optional) */ warn(message: string, data?: any): void { if (Logger.logLevel >= LogLevel.WARN) { console.warn(`${COLORS.YELLOW}[WARN][${this.moduleName}]${COLORS.RESET} ${message}`); if (data) console.warn(data); } } /** * Log info * @param message Log message * @param data Additional data (optional) */ info(message: string, data?: any): void { if (Logger.logLevel >= LogLevel.INFO) { console.info(`${COLORS.BLUE}[INFO][${this.moduleName}]${COLORS.RESET} ${message}`); if (data) console.info(data); } } /** * Log debug * @param message Log message * @param data Additional data (optional) */ debug(message: string, data?: any): void { if (Logger.logLevel >= LogLevel.DEBUG) { console.debug(`${COLORS.GRAY}[DEBUG][${this.moduleName}]${COLORS.RESET} ${message}`); if (data) console.debug(data); } } /** * Create a logger instance * @param moduleName Module name using the logger * @returns Logger instance */ static getLogger(moduleName: string): Logger { return new Logger(moduleName); } /** * Set log level * @param level New log level */ static setLogLevel(level: LogLevel): void { Logger.logLevel = level; } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/phuc-nt/mcp-atlassian-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server