UNPKG

@sphereon/ssi-types

Version:

SSI Common Types

73 lines 2.56 kB
import { EventEmitter } from 'events'; export declare enum LogLevel { TRACE = 0, DEBUG = 1, INFO = 2, WARNING = 3, ERROR = 4 } export declare enum LoggingEventType { AUDIT = "audit", ACTIVITY = "activity", GENERAL = "general" } export interface SimpleLogEvent { type: LoggingEventType.GENERAL; level: LogLevel; correlationId?: string; timestamp: Date; data: string; diagnosticData?: any; } export declare enum LogMethod { DEBUG_PKG = 0, CONSOLE = 1, EVENT = 2 } export interface SimpleLogOptions { namespace?: string; eventName?: string; defaultLogLevel?: LogLevel; methods?: LogMethod[]; } export declare function logOptions(opts?: SimpleLogOptions): Required<SimpleLogOptions>; export declare class Loggers { private static readonly DEFAULT_KEY; static readonly DEFAULT: Loggers; private readonly namespaceOptions; private readonly loggers; constructor(defaultOptions?: Omit<SimpleLogOptions, 'namespace'>); options(namespace: string, options: Omit<SimpleLogOptions, 'namespace'>): this; defaultOptions(options: Omit<SimpleLogOptions, 'namespace'>): this; register<T>(namespace: string, logger: ISimpleLogger<T>): ISimpleLogger<T>; get<T>(namespace: string, registerLogger?: ISimpleLogger<T>): ISimpleLogger<T>; } export type ISimpleLogger<LogType> = { options: Required<SimpleLogOptions>; log(value: LogType, ...args: any[]): void; info(value: LogType, ...args: any[]): void; debug(value: LogType, ...args: any[]): void; trace(value: LogType, ...args: any[]): void; warning(value: LogType, ...args: any[]): void; error(value: LogType, ...args: any[]): void; logl(level: LogLevel, value: LogType, ...argsW: any[]): void; }; export declare class SimpleLogger implements ISimpleLogger<any> { private _eventEmitter; private _options; constructor(opts?: SimpleLogOptions); get eventEmitter(): EventEmitter; get options(): Required<SimpleLogOptions>; trace(value: any, ...args: any[]): void; debug(value: any, ...args: any[]): void; info(value: any, ...args: any[]): void; warning(value: any, ...args: any[]): void; error(value: any, ...args: any[]): void; logl(level: LogLevel, value: any, ...args: any[]): void; private logImpl; log(value: any, ...args: any[]): void; } export declare class SimpleRecordLogger extends SimpleLogger implements ISimpleLogger<Record<string, any>> { constructor(opts?: SimpleLogOptions); } //# sourceMappingURL=index.d.ts.map