nestjs-logitron
Version:
Powerful logger module for Nodejs/ Nestjs, seamlessly integrating Pino and Winston for flexible logging with easy configuration.
2 lines (1 loc) • 2.03 kB
JavaScript
var N=Object.create;var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty;var E=(o,t)=>{for(var e in t)a(o,e,{get:t[e],enumerable:!0})},f=(o,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of L(t))!T.call(o,n)&&n!==e&&a(o,n,{get:()=>t[n],enumerable:!(r=b(t,n))||r.enumerable});return o};var w=(o,t,e)=>(e=o!=null?N(v(o)):{},f(t||!o||!o.__esModule?a(e,"default",{value:o,enumerable:!0}):e,o)),A=o=>f(a({},"__esModule",{value:!0}),o);var M={};E(M,{PinoService:()=>p});module.exports=A(M);var h=w(require("pino"));var u=require("async_hooks"),l=new u.AsyncLocalStorage;function I(o,t,e,r,...n){let s=new Date().toISOString(),g=l.getStore()?.traceId??"N/A",c=n.find(d=>d&&typeof d=="object")??null,y=r?.name??"N/A",x=typeof r?.time=="number"?`${r.time} ms`:"N/A";return`[${s}] [${o.toUpperCase()}] [${t.toUpperCase()}] [${g}] [${e}] [${c?JSON.stringify(c):"N/A"}] [${y}] [${x}]`}var i=I;var m="nestjs-logitron";var p=class{constructor(t){this.appName=m;this.logger=(0,h.default)({transport:{target:"pino-pretty",options:{ignore:"level"}},base:null,timestamp:!1,...t}),this.appName=t?.appName??m}infoWithExecutionTime(t,e,...r){this.logWithExecutionTime("info",t,e,...r)}warnWithExecutionTime(t,e,...r){this.logWithExecutionTime("warn",t,e,...r)}errorWithExecutionTime(t,e,...r){this.logWithExecutionTime("error",t,e,...r)}debugWithExecutionTime(t,e,...r){this.logWithExecutionTime("debug",t,e,...r)}info(t,...e){let r=i("info",this.appName,t,void 0,...e);this.logger.info(r)}warn(t,...e){let r=i("warn",this.appName,t,void 0,...e);this.logger.warn(r)}error(t,...e){let r=i("error",this.appName,t,void 0,...e);this.logger.error(r)}debug(t,...e){let r=i("debug",this.appName,t,void 0,...e);this.logger.debug(r)}logWithExecutionTime(t,e,r,...n){let s=(performance.now()-r.start).toFixed(2),g=i(t,this.appName,e,{name:r?.name,time:Number(s)},...n);this.logger[t](g)}};0&&(module.exports={PinoService});
;