UNPKG

js-logger

Version:

Lightweight, unobtrusive, configurable JavaScript logger

1 lines 2.79 kB
!function(e){"use strict";var t,c={};c.VERSION="1.6.1";var o={},n=function(e,n){return function(){return n.apply(e,arguments)}},r=function(){var e,n,t=arguments,o=t[0];for(n=1;n<t.length;n++)for(e in t[n])e in o||!t[n].hasOwnProperty(e)||(o[e]=t[n][e]);return o},i=function(e,n){return{value:e,name:n}};c.TRACE=i(1,"TRACE"),c.DEBUG=i(2,"DEBUG"),c.INFO=i(3,"INFO"),c.TIME=i(4,"TIME"),c.WARN=i(5,"WARN"),c.ERROR=i(8,"ERROR"),c.OFF=i(99,"OFF");var l=function(e){this.context=e,this.setLevel(e.filterLevel),this.log=this.info};l.prototype={setLevel:function(e){e&&"value"in e&&(this.context.filterLevel=e)},getLevel:function(){return this.context.filterLevel},enabledFor:function(e){var n=this.context.filterLevel;return e.value>=n.value},trace:function(){this.invoke(c.TRACE,arguments)},debug:function(){this.invoke(c.DEBUG,arguments)},info:function(){this.invoke(c.INFO,arguments)},warn:function(){this.invoke(c.WARN,arguments)},error:function(){this.invoke(c.ERROR,arguments)},time:function(e){"string"==typeof e&&0<e.length&&this.invoke(c.TIME,[e,"start"])},timeEnd:function(e){"string"==typeof e&&0<e.length&&this.invoke(c.TIME,[e,"end"])},invoke:function(e,n){t&&this.enabledFor(e)&&t(n,r({level:e},this.context))}};var f,u=new l({filterLevel:c.OFF});(f=c).enabledFor=n(u,u.enabledFor),f.trace=n(u,u.trace),f.debug=n(u,u.debug),f.time=n(u,u.time),f.timeEnd=n(u,u.timeEnd),f.info=n(u,u.info),f.warn=n(u,u.warn),f.error=n(u,u.error),f.log=f.info,c.setHandler=function(e){t=e},c.setLevel=function(e){for(var n in u.setLevel(e),o)o.hasOwnProperty(n)&&o[n].setLevel(e)},c.getLevel=function(){return u.getLevel()},c.get=function(e){return o[e]||(o[e]=new l(r({name:e},u.context)))},c.createDefaultHandler=function(r){(r=r||{}).formatter=r.formatter||function(e,n){n.name&&e.unshift("["+n.name+"]")};var i={},l=function(e,n){Function.prototype.apply.call(e,console,n)};return"undefined"==typeof console?function(){}:function(e,n){e=Array.prototype.slice.call(e);var t,o=console.log;n.level===c.TIME?(t=(n.name?"["+n.name+"] ":"")+e[0],"start"===e[1]?console.time?console.time(t):i[t]=(new Date).getTime():console.timeEnd?console.timeEnd(t):l(o,[t+": "+((new Date).getTime()-i[t])+"ms"])):(n.level===c.WARN&&console.warn?o=console.warn:n.level===c.ERROR&&console.error?o=console.error:n.level===c.INFO&&console.info?o=console.info:n.level===c.DEBUG&&console.debug?o=console.debug:n.level===c.TRACE&&console.trace&&(o=console.trace),r.formatter(e,n),l(o,e))}},c.useDefaults=function(e){c.setLevel(e&&e.defaultLevel||c.DEBUG),c.setHandler(c.createDefaultHandler(e))},c.setDefaults=c.useDefaults,"function"==typeof define&&define.amd?define(c):"undefined"!=typeof module&&module.exports?module.exports=c:(c._prevLogger=e.Logger,c.noConflict=function(){return e.Logger=c._prevLogger,c},e.Logger=c)}(this);