mushcode-mcp-server
Version:
A specialized Model Context Protocol server for MUSHCODE development assistance. Provides AI-powered code generation, validation, optimization, and examples for MUD development.
120 lines • 2.78 kB
TypeScript
/**
* Comprehensive logging system for MUSHCODE MCP Server
* Provides structured logging with different levels and contexts
*/
export declare enum LogLevel {
DEBUG = 0,
INFO = 1,
WARN = 2,
ERROR = 3,
FATAL = 4
}
export interface LogContext {
toolName?: string;
operation?: string;
userId?: string;
sessionId?: string;
requestId?: string;
serverType?: string;
[key: string]: unknown;
}
export interface LogEntry {
timestamp: string;
level: LogLevel;
message: string;
context?: LogContext;
error?: {
name: string;
message: string;
stack?: string;
code?: string;
};
performance?: {
duration: number;
operation: string;
};
}
/**
* Logger class with structured logging capabilities
*/
export declare class Logger {
private static instance;
private logLevel;
private logEntries;
private maxLogEntries;
private constructor();
static getInstance(): Logger;
/**
* Set the minimum log level
*/
setLogLevel(level: LogLevel): void;
/**
* Get current log level
*/
getLogLevel(): LogLevel;
/**
* Log a debug message
*/
debug(message: string, context?: LogContext): void;
/**
* Log an info message
*/
info(message: string, context?: LogContext): void;
/**
* Log a warning message
*/
warn(message: string, context?: LogContext): void;
/**
* Log an error message
*/
error(message: string, error?: Error, context?: LogContext): void;
/**
* Log a fatal error message
*/
fatal(message: string, error?: Error, context?: LogContext): void;
/**
* Log performance metrics
*/
performance(operation: string, duration: number, context?: LogContext): void;
/**
* Create a performance timer
*/
startTimer(operation: string, context?: LogContext): () => void;
/**
* Get recent log entries
*/
getRecentLogs(count?: number): LogEntry[];
/**
* Get logs by level
*/
getLogsByLevel(level: LogLevel): LogEntry[];
/**
* Clear all log entries
*/
clearLogs(): void;
/**
* Get log statistics
*/
getLogStats(): Record<string, number>;
/**
* Internal logging method
*/
private log;
/**
* Add log entry and manage log rotation
*/
private addLogEntry;
/**
* Output log entry to console
*/
private outputToConsole;
}
/**
* Global logger instance
*/
export declare const logger: Logger;
/**
* Decorator for logging method calls
*/
export declare function logMethodCall(target: any, propertyName: string, descriptor: PropertyDescriptor): void;
//# sourceMappingURL=logger.d.ts.map