@visulima/pail
Version:
Highly configurable Logger for Node.js, Edge and Browser.
44 lines (40 loc) • 1.82 kB
TypeScript
import { stringify } from 'safe-stable-stringify';
import { h as StringifyAwareReporter, g as ReadonlyMeta, e as LiteralUnion, E as ExtendedRfc5424LogLevels, c as LoggerTypesAwareReporter, d as LoggerTypesConfig, a as DefaultLogTypes } from './types-BGWAKixQ.js';
type AbstractJsonReporterOptions = {
error: Partial<{
exclude?: string[];
maxDepth?: number;
useToJSON?: boolean;
}>;
};
declare abstract class AbstractJsonReporter<L extends string = string> implements StringifyAwareReporter<L> {
protected stringify: typeof stringify | undefined;
protected errorOptions: AbstractJsonReporterOptions["error"];
constructor(options?: Partial<AbstractJsonReporterOptions>);
setStringify(function_: any): void;
log(meta: ReadonlyMeta<L>): void;
protected abstract _log(message: string, logLevel: LiteralUnion<ExtendedRfc5424LogLevels, L>): void;
}
declare abstract class AbstractPrettyReporter<T extends string = string, L extends string = string> implements LoggerTypesAwareReporter<T, L> {
protected readonly _styles: PrettyStyleOptions;
protected _loggerTypes: LoggerTypesConfig<LiteralUnion<DefaultLogTypes, T>, L>;
protected constructor(options: Partial<PrettyStyleOptions>);
setLoggerTypes(types: LoggerTypesConfig<LiteralUnion<DefaultLogTypes, T>, L>): void;
abstract log(meta: ReadonlyMeta<L>): void;
}
type PrettyStyleOptions = {
bold: {
label: boolean;
};
dateFormatter: (date: Date) => string;
messageLength: number | undefined;
underline: {
label: boolean;
prefix: boolean;
suffix: boolean;
};
uppercase: {
label: boolean;
};
};
export { AbstractJsonReporter as A, type PrettyStyleOptions as P, type AbstractJsonReporterOptions as a, AbstractPrettyReporter as b };