import type { Nullable } from '../../utilities/index.js'; import { type LogFacets, type LogLevel } from '../lib/types.js'; import VectorClock from '../lib/VectorClock.js'; export interface LoggerProps { level?: Nullable; label?: Nullable; correlationId?: Nullable; facets?: Nullable; } export default class Logger { protected readonly label: string | null; protected readonly level: LogLevel; protected readonly correlationId: string | null; protected readonly facets: LogFacets | null; protected readonly vectorClock: VectorClock; constructor(props?: LoggerProps); protected parseEnvLogLevel(): LogLevel | null; protected prepareChildProps(props: Nullable): LoggerProps; createChildLogger(props?: LoggerProps): Logger; createChildLoggerFor(obj: object, props?: LoggerProps): Logger; canLog(level: LogLevel): boolean; protected format(_level: LogLevel, _timestamp: number, _message: string, _facets?: Nullable): string; protected write(level: LogLevel, stream: NodeJS.WritableStream, message: string, facets?: Nullable): void; trace(message: string, facets?: Nullable): void; debug(message: string, facets?: Nullable): void; info(message: string, facets?: Nullable): void; warn(message: string, facets?: Nullable): void; error(err: unknown, message?: string, facets?: Nullable): void; } //# sourceMappingURL=Logger.d.ts.map