UNPKG

adonis-forge

Version:

Bundle utils for AdonisJS

70 lines (69 loc) 1.9 kB
export interface PinoLogEntry { level: number; time: string; msg: string; pid?: number; hostname?: string; name?: string; err?: { type?: string; message?: string; stack?: string; }; req?: { id?: string; method?: string; url?: string; remoteAddress?: string; remotePort?: number; }; res?: { statusCode?: number; }; responseTime?: number; _isPlainText?: boolean; [key: string]: any; } export interface LogReadOptions { maxLines?: number; keyword?: string; logLevel?: LogLevel; minLevel?: number; reverse?: boolean; fields?: string[]; } export interface LogReadResult { logs: PinoLogEntry[]; totalProcessed: number; totalMatched: number; } export interface LogStreamSummary { totalMatched: number; totalProcessed: number; } export interface LogStats { totalLines: number; validLogLines: number; levelCounts: Record<string, number>; timeRange: { start: Date | null; end: Date | null; }; fileSize: number; } export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal'; export type LogDataCallback = (logEntry: PinoLogEntry, matchCount: number, processedCount: number) => void; export type LogEndCallback = (summary: LogStreamSummary) => void; export declare class PinoLogReader { private readonly levelMap; readLogs(filePath: string, options?: LogReadOptions): Promise<LogReadResult>; readLogsStream(filePath: string, options: LogReadOptions | undefined, onData: LogDataCallback, onEnd?: LogEndCallback): void; private readLogsReverse; private parseLine; private shouldIncludeLog; private getSearchText; private getNestedValue; private getTargetLevel; getLogStats(filePath: string): Promise<LogStats>; private getLevelName; }