nodejs-logsage
Version:
Powerful logger module for NestJS, seamlessly integrating Pino and Winston for flexible logging with easy configuration.
2 lines (1 loc) • 1.07 kB
JavaScript
;var p=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var g=(s,t)=>{for(var r in t)p(s,r,{get:t[r],enumerable:!0})},N=(s,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of d(t))!O.call(s,e)&&e!==r&&p(s,e,{get:()=>t[e],enumerable:!(n=u(t,e))||n.enumerable});return s};var _=s=>N(p({},"__esModule",{value:!0}),s);var R={};g(R,{LoggerMiddleware:()=>T});module.exports=_(R);var l=require("uuid"),i=require("cls-hooked");var f="x-trace-id",m="logsage";var a=class a{static getTraceIdField(){return a.traceId}static setTraceId(t){a.traceId=t}};a.traceId=f;var o=a;var c=class c{use(t,r,n){let e=o.getTraceIdField(),I=t?.headers?.[e]??t?.body?.[e]??t?.query?.[e]??(0,l.v4)();c.clsNamespace.run(()=>{t.headers[e]=I;let E=t.headers[e];c.clsNamespace.set(e,E),n()})}static getTraceId(){let t=o.getTraceIdField(),r=(0,i.getNamespace)(m);return r?r.get(t):""}};c.clsNamespace=(0,i.getNamespace)(m)??(0,i.createNamespace)(m);var T=c;0&&(module.exports={LoggerMiddleware});