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