rexuws
Version:
An express-like framework built on top of uWebsocket.js aims at simple codebase and high performance
50 lines (49 loc) • 1.72 kB
TypeScript
export declare type TLoggerLevelConsole = 'error' | 'log' | 'warn' | 'info' | 'trace';
export declare type TLoggerLevelDeprecate = 'deprecate';
export declare type TLoggerLevel = TLoggerLevelConsole | TLoggerLevelDeprecate;
export interface ILoggerDeprecate {
/**
* Same as warning but prefixed with `[DEPRECATED]`
*/
deprecate(message?: any, ...optionalParams: any[]): void;
}
export interface ILoggerPrint {
/**
* Force print regardless of settings
*/
print?(message?: any, ...optionalParams: any[]): void;
}
export interface ILoggerOptions {
/**
* Set logger level on spefic methods
*
* If `true` enable on all methods
*
* @default ['error','warn','deprecate']
*/
level?: TLoggerLevel | TLoggerLevel[] | boolean;
/**
* Set prefix for all logging method
*/
prefix?: string;
}
export interface ILoggerProvider extends Pick<Console, TLoggerLevelConsole> {
}
export interface ILogger extends ILoggerProvider, ILoggerDeprecate, ILoggerPrint {
}
export default class Logger implements ILogger {
private _prefix;
private _logger;
private _level;
info: (message?: any, ...optionalParams: any[]) => void;
error: (message?: any, ...optionalParams: any[]) => void;
log: (message?: any, ...optionalParams: any[]) => void;
warn: (message?: any, ...optionalParams: any[]) => void;
trace: (message?: any, ...optionalParams: any[]) => void;
deprecate: (message?: any, ...optionalParams: any[]) => void;
print?: (message?: any, ...optionalParams: any[]) => void;
constructor(opts?: ILoggerOptions, logger?: ILoggerProvider);
private off;
private hasLogger;
getOptions(): ILoggerOptions;
}