ksmf
Version:
Modular Microframework for create minimalistic CLI/Web application or REST API
88 lines (87 loc) • 2.1 kB
TypeScript
export = Logger;
/**
* @author Antonio Membrides Espinosa
* @email tonykssa@gmail.com
* @date 07/03/2020
* @copyright Copyright (c) 2020-2030
* @license GPL
* @version 1.0
**/
declare class Logger {
/**
* @description initialize logger
* @param {Object} opt
*/
constructor(opt?: any);
cfg: {
level: number;
prefix: string;
label: {
log: string;
debug: string;
error: string;
info: string;
warn: string;
};
action: {
(...data: any[]): void;
(message?: any, ...optionalParams: any[]): void;
};
scope: Console;
};
/**
* @description allow configure options for logger
* @param {Object} opt
* @returns {Logger} self
*/
configure(opt?: any): Logger;
/**
* @description verify if there is a valid log handler
* @returns {Boolean}
*/
isValid(): boolean;
/**
* @description check if logs are allowed
* @returns {Boolean}
*/
isEnabled(): boolean;
/**
* @description set the correct log format
* @param {Object} data
* @returns {Object} log format
*/
format(data: any): any;
/**
* @description set log prefix
* @param {String} value
* @returns
*/
prefix(value: string): this;
/**
* @description set type of logs [info|error|warn|debug]
* @param {String} value
* @returns {Logger} self
*/
type(value: string): Logger;
/**
* @description perform logs
* @returns {Logger} self
*/
log(...args: any[]): Logger;
/**
* @description alias for perform info logs
* @returns {Logger} self
*/
info(...args: any[]): Logger;
error(...args: any[]): this;
/**
* @description alias for perform warn logs
* @returns {Logger} self
*/
warn(...args: any[]): Logger;
/**
* @description alias for perform debug logs
* @returns {Logger} self
*/
debug(...args: any[]): Logger;
}