perfect-logger
Version:
A zero-dependency, isomorphic logger for Node.js and Browsers with plugin support.
35 lines (34 loc) • 1.08 kB
TypeScript
import { LogEntry, AppenderConfig } from '../core/types';
import { BaseAppender } from './BaseAppender';
export interface FileAppenderConfig extends AppenderConfig {
logDirectory?: string;
fileName?: string;
format?: string;
rotation?: 'daily' | 'hourly';
maxSize?: number;
maxFiles?: number;
}
export declare class FileAppender extends BaseAppender {
private readonly logDirectory;
private readonly fileName;
private readonly formatTemplate;
private readonly rotation?;
private readonly maxSize;
private readonly maxFiles;
private readonly dateFormatter;
private readonly timeFormatter;
private currentFilePath;
private currentFileSize;
private currentFileDateMarker;
constructor(config?: FileAppenderConfig);
private initializeState;
handle(entry: LogEntry): void;
handleBatch(entries: LogEntry[]): Promise<void>;
private checkForRotation;
private rotate;
private prune;
private getArchives;
private getCurrentFilename;
private getDateMarker;
private formatLog;
}