UNPKG

@ziki/es6-log

Version:

@ziki/es6-log

101 lines (90 loc) 2.43 kB
class ZikiLog { constructor() { Object.defineProperty(Object.prototype, 'debug', { value: this.__bug, writable: true, enumerable : false, }) Object.defineProperty(Object.prototype, 'log', { value: this.__log, writable: true, enumerable : false, }) Object.defineProperty(Object.prototype, 'warn', { value: this.__warn, writable: true, enumerable : false, }) Object.defineProperty(Object.prototype, 'error', { value: this.__err, writable: true, enumerable : false, }) this.tag = 'ziki' this.len = 10 this.spliter = '-' this.level = 5 } set level(lv) { Object.prototype.debug = this.__empty Object.prototype.log = this.__empty Object.prototype.warn = this.__empty Object.prototype.error = this.__empty if(lv > 0) { Object.prototype.debug = this.__bug } if(lv > 1) { Object.prototype.log = this.__log } if(lv > 2) { Object.prototype.warn = this.__warn } if(lv > 3) { Object.prototype.error = this.__err } } get __bug() { let _self = this; return function(...args) { console.debug(_self.tag, _self.spliter, _self.__gettime, _self.spliter, _self.__getname(this.constructor.name), _self.spliter, ...arguments) } } get __log() { let _self = this; return function(...args) { console.log(_self.tag, _self.spliter, _self.__gettime, _self.spliter, _self.__getname(this.constructor.name), _self.spliter, ...arguments) } } get __warn() { let _self = this; return function(...args) { console.warn(_self.tag, _self.spliter, _self.__gettime, _self.spliter, _self.__getname(this.constructor.name), _self.spliter, ...arguments) } } get __err() { let _self = this; return function(...args) { console.error(_self.tag, _self.spliter, _self.__gettime, _self.spliter, _self.__getname(this.constructor.name), _self.spliter, ...arguments) } } get __empty() { return function() { } } __getname(str) { if(str.length > this.preLen) { return str.substring(0, this.preLen) + '...' } var mystr = str var spaces = this.preLen + 3 - mystr.length while(spaces--) { mystr += ' ' } return mystr } get __gettime() { let date = new Date() return date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds() + ":" + date.getMilliseconds() } } export default new ZikiLog()