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
TypeScript
/**
* 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;