/** * @fileoverview Simple logging service for the application. * This provides a centralized place for all logging functionality. * * Configuration: * - LOG_LEVEL: Sets the minimum log level (DEBUG, INFO, WARN, ERROR). Defaults to DEBUG. * - LOG_FILE: Path to the log file. If not set, no logs will be written. * * Note: Since MCP servers use stdout for protocol communication, logs are written * to a file instead of stdout/stderr to avoid interference. */ /** * Log levels for the application * @enum {string} */ export declare enum LogLevel { DEBUG = "DEBUG", INFO = "INFO", WARN = "WARN", ERROR = "ERROR" } /** * Logger service for consistent logging throughout the application */ export declare class Logger { private readonly context; /** * Create a new logger instance, optionally with a context * @param context Optional context name to identify the log source */ constructor(context?: string); /** * Log a debug message * @param message The message to log * @param data Optional data to include in the log */ debug(message: string, data?: unknown): void; /** * Log an info message * @param message The message to log * @param data Optional data to include in the log */ info(message: string, data?: unknown): void; /** * Log a warning message * @param message The message to log * @param data Optional data to include in the log */ warn(message: string, data?: unknown): void; /** * Log an error message with improved error formatting * @param message The message to log * @param error Optional error to include in the log. The error will be formatted for better readability: * - Error objects will include name, message and stack trace * - Objects will be stringified with proper indentation * - Other values will be converted to strings */ error(message: string, error?: unknown): void; } /** * Default logger instance for the application * Pre-configured with the 'SonarQubeMCP' context for quick imports * @const {Logger} */ export declare const defaultLogger: Logger; /** * Helper function to create a logger with a specific context * @param context The context to use for the logger * @returns A new logger instance with the specified context */ export declare function createLogger(context: string): Logger; /** * Default export for simpler imports */ export default defaultLogger;