///
import type { FastifyBaseLogger } from "fastify";
import type { Counter } from "prom-client";
export type LoggingImplementation = {
log: (...args: unknown[]) => void;
error: (...args: unknown[]) => void;
};
export declare enum LoggingLevel {
trace = 0,
debug = 1,
info = 2,
warn = 3,
error = 4,
fatal = 5,
silent = 6
}
export type LoggingLevels = keyof typeof LoggingLevel;
export type LoggerOptions = {
name: string;
logFormat: "json" | null;
minLogLevel: LoggingLevels;
impl: LoggingImplementation | Console;
context?: Record;
metricsCounter?: Counter<"level">;
};
export declare class Logger {
#private;
options: LoggerOptions;
constructor(options: LoggerOptions);
addSecretsToMask(...secrets: (string | undefined)[]): void;
getFastifyLogger(): FastifyBaseLogger;
child(context: Record): Logger;
log(level: LoggingLevels, item: unknown, description?: T, ...extra: unknown[]): undefined | (() => void);
fmt(item: unknown): string;
private loggerCallback;
debug: (item: unknown, description?: T, ...extra: unknown[]) => (() => void) | undefined;
info: (item: unknown, description?: T, ...extra: unknown[]) => (() => void) | undefined;
warn: (item: unknown, description?: T, ...extra: unknown[]) => (() => void) | undefined;
error: (item: unknown, description?: T, ...extra: unknown[]) => (() => void) | undefined;
fatal: (item: unknown, description?: T, ...extra: unknown[]) => (() => void) | undefined;
}