UNPKG

perfect-logger

Version:

A zero-dependency, isomorphic logger for Node.js and Browsers with plugin support.

35 lines (34 loc) 1.08 kB
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; }