nodejs-logsage
Version:
Powerful logger module for NestJS, seamlessly integrating Pino and Winston for flexible logging with easy configuration.
2 lines (1 loc) • 1.68 kB
JavaScript
;var _=Object.create;var m=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var x=(o,t)=>{for(var e in t)m(o,e,{get:t[e],enumerable:!0})},I=(o,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of y(t))!M.call(o,i)&&i!==e&&m(o,i,{get:()=>t[i],enumerable:!(s=u(t,i))||s.enumerable});return o};var A=(o,t,e)=>(e=o!=null?_(C(o)):{},I(t||!o||!o.__esModule?m(e,"default",{value:o,enumerable:!0}):e,o)),N=o=>I(m({},"__esModule",{value:!0}),o);var G={};x(G,{PinoService:()=>T});module.exports=N(G);var L=A(require("pino")),O=require("date-fns");var d="x-trace-id";var f="EXECUTION_LOG_START_TIME";var p="EXECUTION_LOG_CALLER";var n=class n{static getTraceIdField(){return n.traceId}static setTraceId(t){n.traceId=t}};n.traceId=d;var c=n;function R(...o){let t=c.getTraceIdField(),e=null,s=[],i=null,l=null;for(let r of o.filter(E=>E))r&&typeof r=="object"&&(t in r&&(e=r[t]),f in r&&(i=new Date().getTime()-(typeof r[f]=="number"?r[f]:0)),p in r&&(l=r[p])),Object?.keys(r)?.length&&s.push(r);let a=s.filter(r=>r).map(r=>typeof r=="object"?JSON.stringify(r):r).join(" ");return i!==null&&(a=`[${l?l+": ":""}${i} ms]:${a}`),e&&(a=`[${e}]:${a}`),a}var g=R;var T=class{constructor(t){this.logger=(0,L.default)({transport:{target:"pino-pretty"},base:{pid:!1},timestamp:()=>`,"time":"${(0,O.format)(new Date,"yyyy-MM-dd'T'HH:mm:ss")}"`,...t})}info(...t){let e=g(...t);this.logger.info(e)}warn(...t){let e=g(...t);this.logger.warn(e)}error(...t){let e=g(...t);this.logger.error(e)}debug(...t){let e=g(...t);this.logger.debug(e)}};0&&(module.exports={PinoService});