UNPKG

qw-utils

Version:

qw Utils package

50 lines 1.58 kB
/** * 日志工具类,统一管理日志 */ class loggerUtils { constructor() { let logLevel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'info'; this.logLevel = logLevel; this.enabled = true; } disable() { this.enabled = false; } enable() { this.enabled = true; } info(message) { if (this.enabled && (this.logLevel === 'debug' || this.logLevel === 'info')) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } this.log('INFO', message, args); } } warn(message) { if (this.enabled && (this.logLevel === 'debug' || this.logLevel === 'info' || this.logLevel === 'warn')) { for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; } this.log('WARN', message, args); } } error(error) { if (this.enabled && this.logLevel !== 'silent') { const message = error ? error.message : 'Unknown error occurred'; for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { args[_key3 - 1] = arguments[_key3]; } this.log('ERROR', message, args); } } log(level, message, args) { const logLine = `[${level}] ${message}`; if (args.length > 0) { console.log(logLine, args); } else { console.log(logLine); } } } module.exports = loggerUtils;