@logistically/i18n-cli
Version:
Enterprise-grade CLI tool for extracting and managing translations in Logistically microservices
42 lines (41 loc) • 1.61 kB
TypeScript
import { CLIConfig } from '../types';
export interface LogEntry {
timestamp: string;
level: 'debug' | 'info' | 'warn' | 'error';
message: string;
context?: string;
metadata?: Record<string, any>;
}
export declare class Logger {
private static instance;
private verbose;
private logLevel;
private logFormat;
private logOutput;
private logFilePath?;
private logBuffer;
private maxBufferSize;
private constructor();
static getInstance(): Logger;
configure(config: Partial<CLIConfig['logging']>): void;
setVerbose(verbose: boolean): void;
private shouldLog;
private createLogEntry;
private writeLog;
private writeToConsole;
info(message: string, context?: string, metadata?: Record<string, any>): void;
success(message: string, context?: string, metadata?: Record<string, any>): void;
warning(message: string, context?: string, metadata?: Record<string, any>): void;
error(message: string, context?: string, metadata?: Record<string, any>): void;
debug(message: string, context?: string, metadata?: Record<string, any>): void;
progress(message: string, context?: string): void;
header(message: string): void;
section(message: string): void;
table(data: Record<string, any>[]): void;
logValidationErrors(errors: any[], context?: string): void;
logValidationWarnings(warnings: any[], context?: string): void;
logPerformanceMetrics(metrics: any, context?: string): void;
getLogBuffer(): LogEntry[];
clearLogBuffer(): void;
exportLogs(outputPath: string): Promise<void>;
}