slf4ts-api
Version:
Simple logging facade for nodejs
26 lines (25 loc) • 1.06 kB
TypeScript
import 'source-map-support/register';
import { LogLevel } from './LoggerConfiguration';
export declare type LoggerBuilder<T, P extends any[]> = (...args: P) => T;
export interface LoggerImplementation<T, P extends any[]> {
log(...args: any[]): Promise<any>;
getImplementation(group: string, name: string): T;
setConfig<T>(config: T, group: string, name: string): void;
setLogLevel(logLevel: LogLevel, group: string, name: string): void;
setMetadata(metadata: any, group: string, name: string): void;
setLoggerBuilder(builder: LoggerBuilder<T, P>): void;
}
export interface LoggerBinding<T = any, P extends any[] = any> {
getLoggerImplementation(): LoggerImplementation<T, P>;
getVendor(): string;
getVersion(): string;
}
export declare class LoggerBindings {
private readonly bindings;
constructor(additionalPaths?: string[]);
registerBinding(binding: LoggerBinding): void;
getBindings(): LoggerBinding[];
private getAllModuleFolders;
private visitNodeModules;
private getAllLoggerBindings;
}