xypriss-security
Version:
Advanced High-Performance Security Framework. Military-grade encryption, post-quantum resilience, and fortified data structures.
96 lines • 4.06 kB
TypeScript
/**
* Logger.ts
* Centralized logger for FastApi.ts — structured, typed, and console-friendly.
*
* Output format: {gray timestamp} {color}[COMPONENT]{/} {color}message{/}
*
* Color logic:
* - error → bright red (level always wins)
* - warn → yellow (level always wins)
* - debug → magenta (level always wins)
* - verbose → gray (level always wins)
* - info / startup / perf / etc. → component identity color
*/
import type { LogLevel, LogComponent, LogType } from "../types";
import { LoggerConfig } from "./DEFAULT_LOGGER_CONFIG";
export declare class Logger {
private static instance;
static getInstance(config?: LoggerConfig): Logger;
private config;
private buffer;
private flushTimer?;
private isDisposed;
private palette;
private compColors;
private levelColors;
private logQueue;
private isProcessingQueue;
private errorCount;
private lastErrorTime;
private suppressedComponents;
constructor(config?: LoggerConfig);
private applyColors;
error(component: LogComponent, message: string, ...args: any[]): void;
warn(component: LogComponent, message: string, ...args: any[]): void;
info(component: LogComponent, message: string, ...args: any[]): void;
debug(component: LogComponent, message: string, ...args: any[]): void;
verbose(component: LogComponent, message: string, ...args: any[]): void;
startup(component: LogComponent, message: string, ...args: any[]): void;
performance(component: LogComponent, message: string, ...args: any[]): void;
hotReload(component: LogComponent, message: string, ...args: any[]): void;
portSwitching(component: LogComponent, message: string, ...args: any[]): void;
success(component: LogComponent, message: string, ...args: any[]): void;
securityWarning(message: string, ...args: any[]): void;
updateConfig(config: LoggerConfig): void;
getConfig(): LoggerConfig;
getLevel(): LogLevel;
isEnabled(): boolean;
isComponentEnabled(component: LogComponent): boolean;
isTypeEnabled(type: LogType): boolean;
getStats(): {
errorCount: number;
lastErrorTime: number;
suppressedComponents: ("middleware" | "server" | "cache" | "cluster" | "performance" | "fileWatcher" | "plugins" | "security" | "monitoring" | "routes" | "userApp" | "typescript" | "console" | "other" | "router" | "acpes" | "ipc" | "memory" | "lifecycle" | "routing" | "xems")[];
bufferSize: number;
queueSize: number;
};
clearSuppression(): void;
flush(): void;
dispose(): void;
/** Create a scoped child logger inheriting (and optionally overriding) config. */
child(_component: LogComponent, config?: Partial<LoggerConfig>): Logger;
private log;
private drainQueue;
private shouldLog;
private shouldSuppressError;
private writeEntry;
/**
* Produces a log line:
*
* {gray}HH:MM:SS.mmm{/} {color}[COMPONENT]{/} {color}message{/}
*
* Color priority:
* 1. Level color — error=brightRed, warn=yellow, debug=magenta, verbose=gray
* 2. Component color — each component has its own identity color (for info-class)
*
* Tag and message always share the same color so they read as one visual unit.
*/
private formatEntry;
/** Human-readable uppercase label for a component. */
private componentLabel;
private truncate;
private readMemoryMB;
private readProcessId;
/** Bypass all filters — used only for logger-internal failures. */
private emergencyLog;
private initBuffer;
private initErrorHandling;
private deepMerge;
}
/** Shared singleton — ready to use immediately. */
export declare const logger: Logger;
/** Configure and return the singleton logger. */
export declare function initializeLogger(config?: LoggerConfig): Logger;
/** Flush + dispose the singleton — call on graceful shutdown. */
export declare function cleanupLogger(): void;
//# sourceMappingURL=Logger.d.ts.map