@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
29 lines (28 loc) • 1.52 kB
TypeScript
import { LogEventsArg, TaggedLogEventsOperator } from './logEvents';
import { BasicLogger } from './basicLogger';
export declare function createLogger(basicLogger?: Readonly<{
log: (message?: unknown, ...parameters: unknown[]) => void;
warn: (message?: unknown, ...parameters: unknown[]) => void;
error: (message?: unknown, ...parameters: unknown[]) => void;
}>): Readonly<{
logEvents: <T, Y>(arg: LogEventsArg<T, Y>) => import("rxjs").OperatorFunction<T, T>;
log: (message?: unknown, ...parameters: unknown[]) => void;
warn: (message?: unknown, ...parameters: unknown[]) => void;
error: (message?: unknown, ...parameters: unknown[]) => void;
}>;
export declare function createNoOpLogger(): Logger;
export declare const defaultLogger: Readonly<{
logEvents: <T, Y>(arg: LogEventsArg<T, Y>) => import("rxjs").OperatorFunction<T, T>;
log: (message?: unknown, ...parameters: unknown[]) => void;
warn: (message?: unknown, ...parameters: unknown[]) => void;
error: (message?: unknown, ...parameters: unknown[]) => void;
}>;
export declare type Logger = ReturnType<typeof createLogger>;
export declare type LogArgs = Parameters<Logger['log']>;
export declare type TaggedLogger = Logger & Readonly<{
logEvents: TaggedLogEventsOperator;
withTags: (...tags: unknown[]) => TaggedLogger;
parent: BasicLogger;
}>;
export declare function createTaggedLogger(tags: unknown[], parent?: BasicLogger): TaggedLogger;
export declare function createNoOpTaggedLogger(): TaggedLogger;