@orengrinker/jira-mcp-server
Version:
A comprehensive Model Context Protocol server for Jira integration with issue management, board operations, time tracking, and project management capabilities
57 lines (48 loc) • 1.44 kB
text/typescript
export enum LogLevel {
ERROR = 0,
WARN = 1,
INFO = 2,
DEBUG = 3,
}
export class Logger {
private context: string;
private logLevel: LogLevel;
constructor(context: string) {
this.context = context;
this.logLevel = this.getLogLevel();
}
private getLogLevel(): LogLevel {
const level = process.env.LOG_LEVEL?.toUpperCase() || 'INFO';
switch (level) {
case 'ERROR': return LogLevel.ERROR;
case 'WARN': return LogLevel.WARN;
case 'INFO': return LogLevel.INFO;
case 'DEBUG': return LogLevel.DEBUG;
default: return LogLevel.INFO;
}
}
private log(level: LogLevel, message: string, metadata?: any): void {
if (level <= this.logLevel) {
const timestamp = new Date().toISOString();
const levelName = LogLevel[level];
const logMessage = `[${timestamp}] [${levelName}] [${this.context}] ${message}`;
if (metadata) {
console.error(`${logMessage}`, metadata);
} else {
console.error(logMessage);
}
}
}
error(message: string, metadata?: any): void {
this.log(LogLevel.ERROR, message, metadata);
}
warn(message: string, metadata?: any): void {
this.log(LogLevel.WARN, message, metadata);
}
info(message: string, metadata?: any): void {
this.log(LogLevel.INFO, message, metadata);
}
debug(message: string, metadata?: any): void {
this.log(LogLevel.DEBUG, message, metadata);
}
}