nestjs-logitron
Version:
Powerful logger module for Nodejs/ Nestjs, seamlessly integrating Pino and Winston for flexible logging with easy configuration.
2 lines (1 loc) • 732 B
JavaScript
var f=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var p=(a,e,i,o)=>{for(var t=o>1?void 0:o?u(e,i):e,m=a.length-1,g;m>=0;m--)(g=a[m])&&(t=(o?g(e,i,t):g(t))||t);return o&&t&&f(e,i,t),t};import{Injectable as y}from"@nestjs/common";import{AsyncLocalStorage as x}from"async_hooks";var s=new x;function l(a,e){s.run({traceId:a},e)}var d="x-trace-id";var n=class n{static getTraceIdField(){return n.traceIdField}static setTraceIdField(e){n.traceIdField=e}static getTraceId(){return s.getStore()?.traceId??null}};n.traceIdField=d;var r=n;var c=class{use(e,i,o){let t=e?.headers?.[r.getTraceIdField()]??e?.body?.[r.getTraceIdField()]??e?.query?.[r.getTraceIdField()];l(t,()=>o())}};c=p([y()],c);export{c as TraceMiddleware};