@felixpy/logger
Version:
A simple javascript logger for web developers.
6 lines • 5.7 kB
JavaScript
/**
* @felixpy/logger v0.2.0
* (c) 2019 Felix Yang
*/
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}("undefined"!=typeof self?self:this,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o={str:function(e){return"string"==typeof e},obj:function(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))},arr:function(e){return Array.isArray(e)},func:function(e){return"function"==typeof e}};t.default=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=void 0;var r,o=n(2),u=(r=o)&&r.__esModule?r:{default:r};t.Logger=u.default,t.default=u.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),i=(r=u)&&r.__esModule?r:{default:r},a=n(3),f=n(4),l=n(8);var s=0,c=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t=i.default.str(t)?{name:t}:t,this.lid=s++,this.name=t.name||"Logger#"+this.lid,this.init(t)}return o(e,null,[{key:"get",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this;return t.instance&&!e.isNew||(t.instance=new t(e)),t.instance}}]),o(e,[{key:"init",value:function(e){var t=(0,f.generateConfig)(e.config||{});this.setLevel(t.level),this.setPrefix(t.prefix),this.setSeparator(t.separator),this.setDateFormatter(t.dateFormatter),this.setAppender(t.appenders)}},{key:"setConfig",value:function(e,t){this.config=this.config||{},this.config[e]=t}},{key:"setLevel",value:function(e){this.setConfig("level",e)}},{key:"setPrefix",value:function(e){this.setConfig("prefix",e)}},{key:"setSeparator",value:function(e){this.setConfig("separator",e)}},{key:"setDateFormatter",value:function(e){this.setConfig("dateFormatter",e)}},{key:"setAppender",value:function(e){e=(e=i.default.arr(e)?e:[e]).map(function(e){return(0,f.generateAppender)(e)}).filter(function(e){return!!e}),this.setConfig("appenders",e)}},{key:"log",value:function(){this._invoke("LOG",arguments)}},{key:"debug",value:function(){this._invoke("DEBUG",arguments)}},{key:"info",value:function(){this._invoke("INFO",arguments)}},{key:"warn",value:function(){this._invoke("WARN",arguments)}},{key:"error",value:function(){this._invoke("ERROR",arguments)}},{key:"_invoke",value:function(e,t){var n,r=this;t=Array.prototype.slice.call(t),n={method:t.length>1?t.shift():null,messages:t},this.config.appenders.forEach(function(t){r._append(t,e,n.method,n.messages)})}},{key:"_append",value:function(e,t,n,r){var o=this.name,u=this.config,f=e.level||u.level;a.LEVELS[t]>=a.LEVELS[f]&&i.default.func(e.handler)&&e.handler(t,(0,l.formatAppenderArgs)({name:o,config:u,appender:e,level:t,method:n,messages:r}))}}]),e}();c.instance=null,t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.LEVELS={ALL:0,DEBUG:1,LOG:2,INFO:3,WARN:4,ERROR:5,OFF:9}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateConfig=function(e){var t={level:"LOG",prefix:"[%t] [%p] [%c->%m]",separator:"-",dateFormatter:function(e){return e.toLocaleString()},appenders:["console"]};return Object.keys(e).forEach(function(n){var r=e[n];null!=r&&(t[n]=r)}),t},t.generateAppender=function(e){return r.default.str(e)?{handler:o.default[e]}:r.default.func(e)?{handler:e}:r.default.obj(e)?(r.default.str(e.type)&&(e.handler=o.default[e.type]),e):null};var r=u(n(0)),o=u(n(5));function u(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=u(n(6)),o=u(n(7));function u(e){return e&&e.__esModule?e:{default:e}}t.default={console:r.default,localstorage:o.default}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return console[{LOG:"log",DEBUG:"debug",INFO:"info",WARN:"warn",ERROR:"error"}[e]].apply(console,t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.formatAppenderArgs=function(e){var t,n,r=e.name,o=e.config,u=e.appender,i=e.level,a=e.method,f=e.messages,l=u.prefix||o.prefix,s=u.separator||o.separator,c=u.dateFormatter||o.dateFormatter;return[function(e,t){var n={"%c":t.name,"%m":t.method,"%p":t.level,"%t":t.date};return e.replace(/(%c|%m|%p|%t)/g,function(e){return n[e]||"?"})}(l,{name:r,method:a,level:i,date:(t=c,n=new Date,t.call(n,n))}),s].concat(f)}}])});
//# sourceMappingURL=logger.js.map