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