UNPKG

remcode

Version:

Turn your AI assistant into a codebase expert. Intelligent code analysis, semantic search, and software engineering guidance through MCP integration.

93 lines (92 loc) 2.38 kB
/** * Log levels */ export declare enum LogLevel { TRACE = 0, DEBUG = 1, INFO = 2, WARN = 3, ERROR = 4, FATAL = 5, SILENT = 6 } /** * Log level names for display */ export declare const LogLevelNames: Record<LogLevel, string>; /** * Log record structure */ export interface LogRecord { timestamp: Date; level: LogLevel; name: string; message: string; metadata?: Record<string, any>; error?: Error; } /** * Logger interface */ export interface Logger { trace(message: string, metadata?: Record<string, any>): void; debug(message: string, metadata?: Record<string, any>): void; info(message: string, metadata?: Record<string, any>): void; warn(message: string, metadata?: Record<string, any>): void; error(message: string, error?: Error, metadata?: Record<string, any>): void; fatal(message: string, error?: Error, metadata?: Record<string, any>): void; log(level: LogLevel, message: string, error?: Error, metadata?: Record<string, any>): void; child(name: string): Logger; withMetadata(metadata: Record<string, any>): Logger; } /** * Logger configuration */ export interface LoggerConfig { level: LogLevel; colors: boolean; timestamp: boolean; logToFile: boolean; logFilePath?: string; logFormat?: 'text' | 'json'; } /** * Default logger configuration */ export declare const defaultLoggerConfig: LoggerConfig; /** * Configure global logger settings */ export declare function configureLogger(config: Partial<LoggerConfig>): void; /** * Create a logger instance */ export declare function createLogger(name: string, baseMetadata?: Record<string, any>): Logger; /** * Global logger instance */ export declare const logger: Logger; /** * Get a logger instance for a specific component */ export declare function getLogger(component: string): Logger; /** * Log an error with stack trace */ export declare function logError(error: Error, context?: string): void; /** * Get the current log level */ export declare function getLogLevel(): LogLevel; /** * Set the current log level */ export declare function setLogLevel(level: LogLevel): void; /** * Enable file logging */ export declare function enableFileLogging(filePath: string, format?: 'text' | 'json'): void; /** * Disable file logging */ export declare function disableFileLogging(): void;