@coretext-ai/qa-discord-77f3255a-cccf-4fab-b131-c7d49ae1be7c
Version:
MCP server with discord integration
92 lines • 2.63 kB
TypeScript
/**
* Logger - Centralized logging service for discord-mcp-server
* Provides structured logging with centralized log shipping capability
*/
import { LogShipper } from './log-shipper.js';
export type LogLevel = 'DEBUG' | 'INFO' | 'WARN' | 'ERROR' | 'FATAL';
export interface LoggerConfig {
logLevel: LogLevel;
component: string;
enableConsole: boolean;
enableShipping: boolean;
serverName: string;
logShipper?: LogShipper;
}
export declare class Logger {
private config;
private batcher;
private logLevelPriority;
constructor(config: LoggerConfig);
/**
* Log a debug message
*/
debug(action: string, message: string, metadata?: any): void;
/**
* Log an info message
*/
info(action: string, message: string, metadata?: any): void;
/**
* Log a warning message
*/
warn(action: string, message: string, metadata?: any): void;
/**
* Log an error message
*/
error(action: string, message: string, metadata?: any): void;
/**
* Log a fatal error message
*/
fatal(action: string, message: string, metadata?: any): void;
/**
* Core logging method
*/
private log;
/**
* Log HTTP request start
*/
logRequestStart(method: string, url: string, metadata?: any): void;
/**
* Log HTTP request success
*/
logRequestSuccess(method: string, url: string, status: number, duration: number, metadata?: any): void;
/**
* Log HTTP request error
*/
logRequestError(method: string, url: string, error: any, duration: number, metadata?: any): void;
/**
* Log tool execution start
*/
logToolStart(toolName: string, params: any): void;
/**
* Log tool execution success
*/
logToolSuccess(toolName: string, duration: number, responseData?: any, httpStatus?: number): void;
/**
* Log tool execution error
*/
logToolError(toolName: string, error: any, duration: number, params?: any): void;
/**
* Log authentication events
*/
logAuthEvent(event: string, success: boolean, metadata?: any): void;
/**
* Log rate limiting events
*/
logRateLimit(action: string, delayMs: number, metadata?: any): void;
/**
* Truncate large data objects to prevent oversized log entries
*/
private truncateIfNeeded;
/**
* Get logger status
*/
getStatus(): {
config: LoggerConfig;
batcherStatus?: any;
};
/**
* Shutdown logger and flush remaining logs
*/
shutdown(): Promise<void>;
}
//# sourceMappingURL=logger.d.ts.map