@project-sunbird/logger
Version:
Sunbird logger library
33 lines (32 loc) • 1.03 kB
TypeScript
import { QueryOptions } from 'winston';
export type logLevels = 'error' | 'warn' | 'info' | 'debug';
export type defaultAdopters = 'console' | 'winston';
export interface IClassLoggerOptions extends IMethodLoggerOptions {
logMethods?: string[];
}
export interface IMethodLoggerOptions {
logLevel: logLevels;
logTime: boolean;
}
export interface ILoggerConfig extends ILogAdopterConfig {
adopterConfig: {
adopter: defaultAdopters | LogAdopter;
};
}
export interface ILogAdopterConfig {
logBasePath: string;
logLevel: logLevels;
context: any;
}
export declare abstract class LogAdopter {
abstract logger: ILogger;
abstract initialize(config: ILogAdopterConfig): boolean;
abstract enableDebugMode(timeInterval: number, logLevel: logLevels, combineLogs: boolean): boolean;
abstract getLogs?(options: QueryOptions): any;
}
export interface ILogger {
error(...arg: any[]): void;
warn(...arg: any[]): void;
info(...arg: any[]): void;
debug(...arg: any[]): void;
}