nodejs-logsage
Version:
Powerful logger module for NestJS, seamlessly integrating Pino and Winston for flexible logging with easy configuration.
2 lines (1 loc) • 563 B
JavaScript
import{v4 as l}from"uuid";import{createNamespace as I,getNamespace as n}from"cls-hooked";var i="x-trace-id",a="logsage";var s=class s{static getTraceIdField(){return s.traceId}static setTraceId(t){s.traceId=t}};s.traceId=i;var r=s;var o=class o{use(t,c,p){let e=r.getTraceIdField(),T=t?.headers?.[e]??t?.body?.[e]??t?.query?.[e]??l();o.clsNamespace.run(()=>{t.headers[e]=T;let f=t.headers[e];o.clsNamespace.set(e,f),p()})}static getTraceId(){let t=r.getTraceIdField(),c=n(a);return c?c.get(t):""}};o.clsNamespace=n(a)??I(a);var m=o;export{m as LoggerMiddleware};