UNPKG

metalog

Version:

Logger for Metarhia

47 lines (43 loc) 1.16 kB
import { EventEmitter } from 'node:events'; interface LoggerOptions { path: string; home: string; workerId?: number; createStream?: () => NodeJS.WritableStream; writeInterval: number; writeBuffer: number; keepDays: number; json?: boolean; toFile?: Array<string>; toStdout?: Array<string>; } export class Logger extends EventEmitter { active: boolean; path: string; workerId: string; createStream: () => NodeJS.WritableStream; writeInterval: number; writeBuffer: number; keepDays: number; home: string; stream: NodeJS.WritableStream; reopenTimer: NodeJS.Timer; flushTimer: NodeJS.Timer; lock: boolean; buffer: Array<Buffer>; bufferLength: number; file: string; toFile: Record<string, boolean>; fsEnabled: boolean; toStdout: Record<string, boolean>; console: Console; constructor(args: LoggerOptions); createLogDir(): Promise<void>; open(): Promise<Logger>; close(): Promise<void>; rotate(): Promise<void>; write(type: string, s: string): void; flush(callback: Function): void; normalizeStack(stack: string): string; } export function openLog(args: LoggerOptions): Promise<Logger>;