slf4ts-api
Version:
Simple logging facade for nodejs
50 lines (49 loc) • 1.92 kB
TypeScript
import 'source-map-support/register';
import { LoggerImplementation, LoggerBuilder } from './LoggerBindings';
import { LogLevel } from './LoggerConfiguration';
export interface ILoggerInstance<T> {
trace(...args: any[]): Promise<any>;
debug(...args: any[]): Promise<any>;
info(...args: any[]): Promise<any>;
warn(...args: any[]): Promise<any>;
error(...args: any[]): Promise<any>;
getLogLevel(): LogLevel;
setMetadata(metadata: any): void;
getImplementation(): T;
}
export declare class DefaultLoggerInstance<T, P extends any[]> implements ILoggerInstance<T> {
private readonly impl;
private readonly name;
private readonly group;
private commonMetadata;
private logLevel;
constructor(name: string, group: string, logLevel: LogLevel, commonMetadata: any, impl: LoggerImplementation<T, P>, builder: LoggerBuilder<T, P>);
getLogLevel(): LogLevel;
setLogLevel(logLevel: LogLevel): void;
getName(): string;
getGroup(): string;
getImpl(): LoggerImplementation<T, P>;
getMetadata(): any;
setMetadata(commonMetadata: any): void;
trace(...args: any[]): Promise<any>;
debug(...args: any[]): Promise<any>;
info(...args: any[]): Promise<any>;
warn(...args: any[]): Promise<any>;
error(...args: any[]): Promise<any>;
getImplementation(): T;
private log;
}
export declare class LoggerFactory {
static getLogger<T, P extends any[]>(group?: string, name?: string, builder?: LoggerBuilder<T, P>): ILoggerInstance<T>;
static reset(reinit?: boolean): void;
static getMetadata(): any;
static setMetadata(metadata: any): void;
private static COMMON_METADATA;
private static LOGGER;
private static ROOT_LOGGER;
private static INITIALIZED;
private static readonly LOGGER_INSTANCE_CACHE;
private static initialize;
private static logLevelChanged;
private static configChanged;
}