@visulima/pail
Version:
Highly configurable Logger for Node.js, Edge and Browser.
59 lines (56 loc) • 2.67 kB
text/typescript
import { stringify } from 'safe-stable-stringify';
import { M as Meta, d as LoggerTypesConfig, e as LiteralUnion, a as DefaultLogTypes, P as Processor, E as ExtendedRfc5424LogLevels, R as Reporter, C as ConstructorOptions, b as LoggerFunction } from './types-BGWAKixQ.cjs';
declare class PailBrowserImpl<T extends string = string, L extends string = string> {
protected timersMap: Map<string, number>;
protected countMap: Map<string, number>;
protected seqTimers: Set<string>;
protected readonly lastLog: {
count?: number;
object?: Meta<L>;
serialized?: string;
time?: Date;
timeout?: ReturnType<typeof setTimeout>;
};
protected readonly logLevels: Record<string, number>;
protected disabled: boolean;
protected scopeName: string[];
protected readonly types: LoggerTypesConfig<LiteralUnion<DefaultLogTypes, T>, L>;
protected readonly longestLabel: string;
protected readonly processors: Set<Processor<L>>;
protected readonly generalLogLevel: LiteralUnion<ExtendedRfc5424LogLevels, L>;
protected reporters: Set<Reporter<L>>;
protected readonly throttle: number;
protected readonly throttleMin: number;
protected readonly stringify: typeof stringify;
protected groups: string[];
protected readonly startTimerMessage: string;
protected readonly endTimerMessage: string;
protected rawReporter: Reporter<L>;
constructor(options: ConstructorOptions<T, L>);
wrapConsole(): void;
restoreConsole(): void;
wrapException(): void;
disable(): void;
enable(): void;
isEnabled(): boolean;
scope<N extends string = T>(...name: string[]): PailBrowserType<N, L>;
unscope(): void;
time(label?: string): void;
timeLog(label?: string, ...data: unknown[]): void;
timeEnd(label?: string): void;
group(label?: string): void;
groupEnd(): void;
count(label?: string): void;
countReset(label?: string): void;
clear(): void;
raw(message: string, ...arguments_: unknown[]): void;
protected extendReporter(reporter: Reporter<L>): Reporter<L>;
protected registerReporters(reporters: Reporter<L>[]): void;
private _report;
private registerProcessors;
private _normalizeLogLevel;
private _buildMeta;
private _logger;
}
type PailBrowserType<T extends string = string, L extends string = string> = PailBrowserImpl<T, L> & Record<DefaultLogTypes, LoggerFunction> & Record<T, LoggerFunction> & (new <TC extends string = string, LC extends string = string>(options?: ConstructorOptions<TC, LC>) => PailBrowserType<TC, LC>);
export { type PailBrowserType as P, PailBrowserImpl as a };