@resk/core
Version:
An innovative TypeScript framework that empowers developers to build applications with a fully decorator-based architecture for efficient resource management. By combining the power of decorators with a resource-oriented design, DecorRes enhances code cla
1 lines • 1.47 kB
JavaScript
;Object.defineProperty(exports,'__esModule',{value:true});var m=require('../utils/defaultStr'),date=require('../utils/date');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var m__default=/*#__PURE__*/_interopDefault(m);const r=class r{static get logger(){const t=Reflect.getMetadata(r.loggerMetaData,r);return s(t)&&(this._logger=t),this._logger?this._logger:console}static set logger(t){s(t)&&Reflect.defineMetadata(r.loggerMetaData,t,r);}static _log(t,...a){const e=r.logger;t=m__default.default(t),t&&typeof e[t]=="function"?e[t](r.getDateTimeString(),...a):console.log("Logger level not found : [",t,"]",...a);}static getDateTimeString(){const{day:t,year:a,hours:e,minutes:n,seconds:g,dayNameShort:c,monthName:d}=date.DateHelper.getUTCDateTimeDetails(),l=t<10?"0"+t:t,f=e<10?"0"+e:e,y=n<10?"0"+n:n,u=g<10?"0"+g:g;return "["+[c,l,d,a].join(" ")+" "+[f,y,u].join(":")+"]"}static log(...t){this._log("log",...t);}static info(...t){this._log("info",...t);}static debug(...t){this._log("debug",...t);}static warn(...t){this._log("warn",...t);}static error(...t){this._log("error",...t);}};r.loggerMetaData=Symbol("logger-meta-data");let i=r;const s=o=>{if(!o)return false;try{return ["warn","info","error"].every(t=>typeof o[t]=="function")}catch(t){return false}};function D(){return function(o){try{const t=new o;if(!s(t))return;i.logger=t;}catch(t){console.error(t," registering logger");}}}exports.AttachLogger=D;exports.default=i;