route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
64 lines • 2.77 kB
TypeScript
/**
* 统一日志系统 - 项目唯一日志入口
* 整合所有现有日志功能,提供统一接口
* Project Owner: Jason Zhang
*/
export type LogLevel = 'error' | 'warn' | 'info' | 'debug';
export type LogCategory = 'request' | 'response' | 'pipeline' | 'error' | 'performance' | 'system' | 'tool_call' | 'streaming' | 'finish_reason';
interface LogEntry {
timestamp: string;
beijingTime: string;
level: LogLevel;
category: LogCategory;
message: string;
data?: any;
port: number;
requestId?: string;
stage?: string;
duration?: number;
}
interface LoggerConfig {
port: number;
logLevel?: LogLevel;
enableConsole?: boolean;
enableFile?: boolean;
baseDir?: string;
rotationMinutes?: number;
maxRetentionDays?: number;
}
export declare class UnifiedLogger {
private config;
private logDir;
private currentRotationDir;
private lastRotationTime;
private initialized;
constructor(config: LoggerConfig);
private initialize;
private updateRotationDir;
private ensureRotation;
private getBeijingTime;
private shouldLog;
private formatEntry;
private writeToFile;
private writeToFinishReasonFile;
writeToFinishReasonDebugFile(entry: LogEntry): Promise<void>;
private outputToConsole;
log(category: LogCategory, level: LogLevel, message: string, data?: any, requestId?: string, stage?: string, duration?: number): void;
error(message: string, data?: any, requestId?: string, stage?: string): void;
warn(message: string, data?: any, requestId?: string, stage?: string): void;
info(message: string, data?: any, requestId?: string, stage?: string): void;
debug(message: string, data?: any, requestId?: string, stage?: string): void;
logRequest(requestId: string, method: string, path: string, data?: any): void;
logResponse(requestId: string, status: number, data?: any, duration?: number): void;
logPipeline(stage: string, message: string, data?: any, requestId?: string): void;
logPerformance(operation: string, duration: number, data?: any, requestId?: string): void;
logToolCall(message: string, data?: any, requestId?: string, stage?: string): void;
logStreaming(message: string, data?: any, requestId?: string, stage?: string): void;
logFinishReason(finishReason: string, data?: any, requestId?: string, stage?: string): void;
logDualFinishReason(originalReason: string, convertedReason: string, provider: string, data?: any, requestId?: string, stage?: string): void;
logStopReason(stopReason: string, data?: any, requestId?: string, stage?: string): void;
cleanup(): Promise<number>;
shutdown(): Promise<void>;
}
export {};
//# sourceMappingURL=unified-logger.d.ts.map