jizy-logger
Version:
A simple JS logger library.
3 lines (2 loc) • 1.39 kB
JavaScript
/*! jLogger v2.0.1 | 2025-08-19T09:10Z | [default] */
!function(e){"use strict";if("object"!=typeof e||!e||!e.console)throw new Error("jLogger requires a window and a console");if(void 0!==e.jLogger)throw new Error("jLogger is already defined");var t=function(){function e(e,t){const i={valid:!1,label:"",value:"",level:1,method:t};if(e.length>=1?(i.value=e[0],i.valid=!0,e.length>=2&&(i.label=e[0],i.value=e[1]),e.length>=3&&(i.level=e[2])):console.log("Invalid arguments",e),i.value&&"dir"!==i.method)try{i.value=JSON.parse(JSON.stringify(i.value))}catch(e){i.method="dir"}return i}return class{constructor(e=!1,t=0){this.available=void 0!==window.console,this.setActive(e),this.setLevel(t)}status(){return this.available&&this.active}setActive(e=!1){return this.active=e,this}setLevel(e=0){return this.level=e,this}clear(){this.available&&console.clear()}print(e){if(!e.valid||!this.available||!this.active)return;const t="dir"===e.method?"dir":e.method;e.label?console[t](e.label+" : ",e.value):console[t](e.value)}log(){this.print(e(arguments,"log"))}debug(){this.print(e(arguments,"debug"))}info(){this.print(e(arguments,"info"))}error(){this.print(e(arguments,"error"))}dir(){this.print(e(arguments,"dir"))}warn(){this.print(e(arguments,"warn"))}warning(){this.print(e(arguments,"warn"))}add(){this.print(e(arguments,"log"))}}}();e.jLogger=t}("undefined"!=typeof window?window:this);