genius-bridge-sdk
Version:
SDK for the Genius Bridge Protocol (GBP)
56 lines • 2.18 kB
TypeScript
export declare enum LogLevelEnum {
NONE = 0,
ERROR = 1,
WARN = 2,
INFO = 3,
DEBUG = 4
}
export interface ILoggerOptions {
level?: LogLevelEnum;
}
export interface ILogger {
debug(message: string, meta?: Record<string, unknown>): void;
info(message: string, meta?: Record<string, unknown>): void;
warn(message: string, meta?: Record<string, unknown>): void;
error(message: string, error?: Error, meta?: Record<string, unknown>): void;
}
export declare class NoOpLogger implements ILogger {
debug(): void;
info(): void;
warn(): void;
error(): void;
}
export declare class ConsoleLogger implements ILogger {
private _level;
constructor(options?: ILoggerOptions);
debug(message: string, meta?: Record<string, unknown>): void;
info(message: string, meta?: Record<string, unknown>): void;
warn(message: string, meta?: Record<string, unknown>): void;
error(message: string, error?: Error, meta?: Record<string, unknown>): void;
}
export declare class WinstonLogger implements ILogger {
private _logger;
constructor(winstonInstance: any);
debug(message: string, meta?: Record<string, unknown>): void;
info(message: string, meta?: Record<string, unknown>): void;
warn(message: string, meta?: Record<string, unknown>): void;
error(message: string, error?: Error, meta?: Record<string, unknown>): void;
}
export declare class PinoLogger implements ILogger {
private _logger;
constructor(pinoInstance: any);
debug(message: string, meta?: Record<string, unknown>): void;
info(message: string, meta?: Record<string, unknown>): void;
warn(message: string, meta?: Record<string, unknown>): void;
error(message: string, error?: Error, meta?: Record<string, unknown>): void;
}
export declare class LoggerFactory {
private static _instance;
static getLogger(): ILogger;
static configure(logger: ILogger): void;
static createConsoleLogger(options?: ILoggerOptions): ILogger;
static createWinstonLogger(winston: any): ILogger;
static createPinoLogger(pino: any): ILogger;
}
export declare const logger: ILogger;
//# sourceMappingURL=logger.d.ts.map