nestjs-logitron
Version:
Powerful logger module for Nodejs/ Nestjs, seamlessly integrating Pino and Winston for flexible logging with easy configuration.
2 lines (1 loc) • 4.01 kB
JavaScript
var W=Object.create;var p=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var M=(o,e)=>{for(var t in e)p(o,t,{get:e[t],enumerable:!0})},x=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of w(e))!P.call(o,i)&&i!==t&&p(o,i,{get:()=>e[i],enumerable:!(r=y(e,i))||r.enumerable});return o};var A=(o,e,t)=>(t=o!=null?W(O(o)):{},x(e||!o||!o.__esModule?p(t,"default",{value:o,enumerable:!0}):t,o)),S=o=>x(p({},"__esModule",{value:!0}),o),v=(o,e,t,r)=>{for(var i=r>1?void 0:r?y(e,t):e,s=o.length-1,a;s>=0;s--)(a=o[s])&&(i=(r?a(e,t,i):a(i))||i);return r&&i&&p(e,t,i),i};var _={};M(_,{getLogger:()=>f});module.exports=S(_);var I=A(require("pino"));var L=require("async_hooks"),b=new L.AsyncLocalStorage;function $(o,e,t,r,...i){let s=new Date().toISOString(),a=b.getStore()?.traceId??"N/A",l=i.find(h=>h&&typeof h=="object")??null,T=r?.name??"N/A",E=typeof r?.time=="number"?`${r.time} ms`:"N/A";return`[${s}] [${o.toUpperCase()}] [${e.toUpperCase()}] [${a}] [${t}] [${l?JSON.stringify(l):"N/A"}] [${T}] [${E}]`}var n=$;var g="nestjs-logitron";var u=class{constructor(e){this.appName=g;this.logger=(0,I.default)({transport:{target:"pino-pretty",options:{ignore:"level"}},base:null,timestamp:!1,...e}),this.appName=e?.appName??g}infoWithExecutionTime(e,t,...r){this.logWithExecutionTime("info",e,t,...r)}warnWithExecutionTime(e,t,...r){this.logWithExecutionTime("warn",e,t,...r)}errorWithExecutionTime(e,t,...r){this.logWithExecutionTime("error",e,t,...r)}debugWithExecutionTime(e,t,...r){this.logWithExecutionTime("debug",e,t,...r)}info(e,...t){let r=n("info",this.appName,e,void 0,...t);this.logger.info(r)}warn(e,...t){let r=n("warn",this.appName,e,void 0,...t);this.logger.warn(r)}error(e,...t){let r=n("error",this.appName,e,void 0,...t);this.logger.error(r)}debug(e,...t){let r=n("debug",this.appName,e,void 0,...t);this.logger.debug(r)}logWithExecutionTime(e,t,r,...i){let s=(performance.now()-r.start).toFixed(2),a=n(e,this.appName,t,{name:r?.name,time:Number(s)},...i);this.logger[e](a)}};var m=require("winston");var{combine:D,timestamp:j,printf:C,colorize:Y}=m.format,d=class{constructor(e){this.appName=g;this.logger=(0,m.createLogger)({transports:[new m.transports.Console],format:D(Y({all:!0}),j({format:"YYYY-MM-DDThh:mm:ss"}),C(t=>`[${t.timestamp}] ${t.level}: ${t.message}`)),...e}),this.appName=e?.appName??g}infoWithExecutionTime(e,t,...r){this.logWithExecutionTime("info",e,t,...r)}warnWithExecutionTime(e,t,...r){this.logWithExecutionTime("warn",e,t,...r)}errorWithExecutionTime(e,t,...r){this.logWithExecutionTime("error",e,t,...r)}debugWithExecutionTime(e,t,...r){this.logWithExecutionTime("debug",e,t,...r)}info(e,...t){let r=n("info",this.appName,e,void 0,...t);this.logger.info(r)}warn(e,...t){let r=n("warn",this.appName,e,void 0,...t);this.logger.warn(r)}error(e,...t){let r=n("error",this.appName,e,void 0,...t);this.logger.error(r)}debug(e,...t){let r=n("debug",this.appName,e,void 0,...t);this.logger.debug(r)}logWithExecutionTime(e,t,r,...i){let s=(performance.now()-r.start).toFixed(2),a=n(e,this.appName,t,{name:r?.name,time:Number(s)},...i);this.logger[e](a)}};var N=require("@nestjs/common");var c=class{constructor(e){this.logger=f(e)}log(e,...t){this.logger.info(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}debug(e,...t){this.logger.debug(e,...t)}infoWithExecutionTime(e,t,...r){this.logger.infoWithExecutionTime(e,t,...r)}warnWithExecutionTime(e,t,...r){this.logger.warnWithExecutionTime(e,t,...r)}errorWithExecutionTime(e,t,...r){this.logger.errorWithExecutionTime(e,t,...r)}debugWithExecutionTime(e,t,...r){this.logger.debugWithExecutionTime(e,t,...r)}};c=v([(0,N.Injectable)()],c);function f({type:o,options:e}){switch(o){case"pino":return new u(e);case"winston":return new d(e);default:throw new Error("Invalid logger type")}}0&&(module.exports={getLogger});
;