Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | 95x 95x 95x 95x 95x 95x 95x 95x 18x 18x 1484x 2x 95x 298x 298x 298x 297x 296x 296x | import { configure, getLogger } from 'log4js';
export type LogProvider = (category?: string) => Logger;
export enum LogLevel {
debug = 'debug',
info = 'info',
warn = 'warn',
error = 'error',
fatal = 'fatal',
}
export interface Logger {
debug(message: any, ...args: any[]): void;
info(message: any, ...args: any[]): void;
warn(message: any, ...args: any[]): void;
error(message: any, ...args: any[]): void;
fatal(message: any, ...args: any[]): void;
}
export function getDefaultLogProvider(
logLevel: LogLevel = LogLevel.error,
): LogProvider {
configure({
appenders: {
console: { type: 'console' },
},
categories: {
default: { appenders: ['console'], level: logLevel },
},
});
return getLogger;
}
function validate(isValid: boolean, msg: string) {
if (!isValid) {
throw new TypeError(msg);
}
}
export function validateLogProvider(provider: LogProvider): void {
validate(typeof provider === 'function', 'Provider needs to be a function');
const logger = provider('unleash:logger');
validate(typeof logger.debug === 'function', 'Logger must implement debug');
validate(typeof logger.info === 'function', 'Logger must implement info');
validate(typeof logger.warn === 'function', 'Logger must implement warn');
validate(typeof logger.error === 'function', 'Logger must implement error');
}
|