@autofleet/logger 4.2.7 → 4.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var a=require('pino'),pinoCloudLogging=require('pino-cloud-logging');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var a__default=/*#__PURE__*/_interopDefault(a);var l=(t=>(t.trace="trace",t.debug="debug",t.info="info",t.warn="warn",t.error="error",t.fatal="fatal",t))(l||{}),L=n=>n||(process.env.LOG_LEVEL?process.env.LOG_LEVEL:process.env.NODE_ENV&&["production","staging","test"].includes(process.env.NODE_ENV)?"info":(process.env.NODE_ENV==="development","debug")),u=(n,e)=>{let r;return process.env.NODE_ENV==="production"?r=a__default.default(pinoCloudLogging.gcpLogOptions({level:process.env.PINO_LOG_LEVEL||"info",...e})):r=a__default.default({level:process.env.PINO_LOG_LEVEL||"info",transport:{target:"pino-pretty",options:{colorize:true}},...e}),r.level=n,r},s=class{constructor(e){this.#r=[];this.addContextMiddleware=e=>this.#r.push(e);this.trace=(e,r)=>this.winstonLikeLoggerCall("trace",e,r);this.debug=(e,r)=>this.winstonLikeLoggerCall("debug",e,r);this.info=(e,r)=>this.winstonLikeLoggerCall("info",e,r);this.warn=(e,r)=>this.winstonLikeLoggerCall("warn",e,r);this.error=(e,r)=>this.winstonLikeLoggerCall("error",e,r);this.fatal=(e,r)=>this.winstonLikeLoggerCall("fatal",e,r);this.child=e=>this.#e.child(e);this.#e=u(L(e),{mixin:()=>this.addMetadata(),serializers:{...a.stdSerializers,e:a.stdSerializers.errWithCause,err:a.stdSerializers.errWithCause,error:a.stdSerializers.errWithCause,errors(r){return Array.isArray(r)?r.map(a.stdSerializers.errWithCause):a.stdSerializers.errWithCause(r)}}});}#r;#e;winstonLikeLoggerCall(e,r,i){i?this.#e[e](i,r):this.#e[e](r);}addMetadata(){let e={};return this.#r.forEach(r=>{let i=r();Object.assign(e,i);}),e}get level(){return this.#e.level}},p=n=>new s(n);exports.LogLevel=l;exports.LoggerInstanceManager=s;exports.default=p;//# sourceMappingURL=index.cjs.map
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var a=require('pino'),pinoCloudLogging=require('pino-cloud-logging');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var a__default=/*#__PURE__*/_interopDefault(a);var c=Object.defineProperty;var i=(t,e)=>c(t,"name",{value:e,configurable:true});exports.LogLevel=void 0;(function(t){t.trace="trace",t.debug="debug",t.info="info",t.warn="warn",t.error="error",t.fatal="fatal";})(exports.LogLevel||(exports.LogLevel={}));var d=i(t=>t||(process.env.LOG_LEVEL?process.env.LOG_LEVEL:process.env.NODE_ENV&&["production","staging","test"].includes(process.env.NODE_ENV)?"info":(process.env.NODE_ENV==="development","debug")),"getLevel"),g=i((t,e)=>{let r;return process.env.NODE_ENV==="production"?r=a__default.default(pinoCloudLogging.gcpLogOptions({level:process.env.PINO_LOG_LEVEL||"info",...e})):r=a__default.default({level:process.env.PINO_LOG_LEVEL||"info",transport:{target:"pino-pretty",options:{colorize:true}},...e}),r.level=t,r},"createLoggerInstance"),o=class{static{i(this,"LoggerInstanceManager");}#r=[];#e;constructor(e){this.#e=g(d(e),{mixin:i(()=>this.addMetadata(),"mixin"),serializers:{...a.stdSerializers,e:a.stdSerializers.errWithCause,err:a.stdSerializers.errWithCause,error:a.stdSerializers.errWithCause,errors(r){return Array.isArray(r)?r.map(a.stdSerializers.errWithCause):a.stdSerializers.errWithCause(r)}}});}winstonLikeLoggerCall(e,r,s){s?this.#e[e](s,r):this.#e[e](r);}addMetadata(){let e={};return this.#r.forEach(r=>{let s=r();Object.assign(e,s);}),e}addContextMiddleware=i(e=>this.#r.push(e),"addContextMiddleware");trace=i((e,r)=>this.winstonLikeLoggerCall("trace",e,r),"trace");debug=i((e,r)=>this.winstonLikeLoggerCall("debug",e,r),"debug");info=i((e,r)=>this.winstonLikeLoggerCall("info",e,r),"info");warn=i((e,r)=>this.winstonLikeLoggerCall("warn",e,r),"warn");error=i((e,r)=>this.winstonLikeLoggerCall("error",e,r),"error");fatal=i((e,r)=>this.winstonLikeLoggerCall("fatal",e,r),"fatal");child=i(e=>this.#e.child(e),"child");get level(){return this.#e.level}},L=i(t=>new o(t),"default");exports.LoggerInstanceManager=o;exports.default=L;//# sourceMappingURL=index.cjs.map
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["LogLevel","getLevel","logLevel","createLoggerInstance","level","options","loggerInstance","Pino","gcpLogOptions","LoggerInstanceManager","#contextMiddlewares","middleware","message","meta","metadata","#logger","stdSerializers","val","newMetadata","index_default","loglevel"],"mappings":"2PAGO,IAAKA,OACVA,CAAA,CAAA,KAAA,CAAQ,OACRA,CAAAA,CAAAA,CAAA,MAAQ,OACRA,CAAAA,CAAAA,CAAA,IAAO,CAAA,MAAA,CACPA,CAAA,CAAA,IAAA,CAAO,MACPA,CAAAA,CAAAA,CAAA,MAAQ,OACRA,CAAAA,CAAAA,CAAA,KAAQ,CAAA,OAAA,CANEA,OAAA,EASNC,CAAAA,CAAAA,CAAAA,CAAYC,CACZA,EAAAA,CAAAA,GACA,QAAQ,GAAI,CAAA,SAAA,CAAkB,OAAQ,CAAA,GAAA,CAAI,SAC1C,CAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,EAAY,CAAC,YAAc,CAAA,SAAA,CAAW,MAAM,CAAA,CAAE,SAAS,OAAQ,CAAA,GAAA,CAAI,QAAQ,CAAA,CAAU,QACjG,OAAQ,CAAA,GAAA,CAAI,QAAa,GAAA,aAAA,CAAsB,OAI/CC,CAAAA,CAAAA,CAAAA,CAAAA,CAAuB,CAACC,CAAAA,CAAiBC,IAA8C,CAC3F,IAAIC,CACJ,CAAA,OAAI,QAAQ,GAAI,CAAA,QAAA,GAAa,YAC3BA,CAAAA,CAAAA,CAAiBC,mBAAKC,8BAAc,CAAA,CAClC,KAAO,CAAA,OAAA,CAAQ,GAAI,CAAA,cAAA,EAAkB,MACrC,CAAA,GAAGH,CACL,CAAW,CAAC,CAEZC,CAAAA,CAAAA,CAAiBC,mBAAK,CACpB,KAAA,CAAO,OAAQ,CAAA,GAAA,CAAI,gBAAkB,MACrC,CAAA,SAAA,CAAW,CACT,MAAA,CAAQ,aACR,CAAA,OAAA,CAAS,CACP,QAAA,CAAU,IACZ,CACF,CAAA,CACA,GAAGF,CACL,CAAC,CAEHC,CAAAA,CAAAA,CAAe,KAAQF,CAAAA,CAAAA,CAChBE,CACT,CAIaG,CAAAA,CAAAA,CAAN,KAA4B,CAKjC,WAAYP,CAAAA,CAAAA,CAAqB,CAJjC,IAAA,CAAAQ,GAA4C,EAAC,CAwC7C,IAAwBC,CAAAA,oBAAAA,CAAAA,CAAAA,EAAmC,KAAKD,EAAoB,CAAA,IAAA,CAAKC,CAAU,CAAA,CAEnG,WAAQ,CAACC,CAAAA,CAAiBC,CAAmB,GAAA,IAAA,CAAK,qBAAsB,CAAA,OAAA,CAAgBD,CAASC,CAAAA,CAAI,EAErG,IAAQ,CAAA,KAAA,CAAA,CAACD,CAAiBC,CAAAA,CAAAA,GAAmB,KAAK,qBAAsB,CAAA,OAAA,CAAgBD,CAASC,CAAAA,CAAI,EAErG,IAAO,CAAA,IAAA,CAAA,CAACD,CAAiBC,CAAAA,CAAAA,GAAmB,IAAK,CAAA,qBAAA,CAAsB,MAAeD,CAAAA,CAAAA,CAASC,CAAI,CAEnG,CAAA,IAAA,CAAA,IAAA,CAAO,CAACD,CAAAA,CAAiBC,IAAmB,IAAK,CAAA,qBAAA,CAAsB,MAAeD,CAAAA,CAAAA,CAASC,CAAI,CAEnG,CAAA,IAAA,CAAA,KAAA,CAAQ,CAACD,CAAAA,CAAiBC,CAAmB,GAAA,IAAA,CAAK,qBAAsB,CAAA,OAAA,CAAgBD,EAASC,CAAI,CAAA,CAErG,IAAQ,CAAA,KAAA,CAAA,CAACD,EAAiBC,CAAmB,GAAA,IAAA,CAAK,qBAAsB,CAAA,OAAA,CAAgBD,EAASC,CAAI,CAAA,CAErG,IAASC,CAAAA,KAAAA,CAAAA,CAAAA,EAAsC,IAAKC,CAAAA,EAAAA,CAAQ,KAAMD,CAAAA,CAAQ,EAjDxE,IAAKC,CAAAA,EAAAA,CAAUZ,CAAqBF,CAAAA,CAAAA,CAASC,CAAQ,CAAG,CAAA,CACtD,KAAO,CAAA,IAAM,KAAK,WAAY,EAAA,CAC9B,WAAa,CAAA,CACX,GAAGc,gBAAAA,CACH,CAAGA,CAAAA,gBAAAA,CAAe,aAClB,GAAKA,CAAAA,gBAAAA,CAAe,YACpB,CAAA,KAAA,CAAOA,iBAAe,YACtB,CAAA,MAAA,CAAOC,CAAK,CAAA,CACV,OAAI,KAAM,CAAA,OAAA,CAAQA,CAAG,CAAA,CACZA,CAAI,CAAA,GAAA,CAAID,gBAAe,CAAA,YAAY,EAErCA,gBAAe,CAAA,YAAA,CAAaC,CAAG,CACxC,CACF,CACF,CAAC,EACH,CApBAP,GAEAK,EAqBQ,CAAA,qBAAA,CAAsBb,CAAoBU,CAAAA,CAAAA,CAAiBC,CAAe,CAAA,CAC5EA,CACF,CAAA,IAAA,CAAKE,GAAQb,CAAQ,CAAA,CAAEW,CAAMD,CAAAA,CAAO,EAEpC,IAAKG,CAAAA,EAAAA,CAAQb,CAAQ,CAAA,CAAEU,CAAO,EAElC,CAEQ,WAAuC,EAAA,CAC7C,IAAMM,CAAAA,CAAc,EAAC,CACrB,YAAKR,EAAoB,CAAA,OAAA,CAASC,CAAe,EAAA,CAC/C,IAAMG,CAAWH,CAAAA,CAAAA,EACjB,CAAA,MAAA,CAAO,OAAOO,CAAaJ,CAAAA,CAAQ,EACrC,CAAC,EACMI,CACT,CAkBA,IAAI,KAAA,EAAQ,CACV,OAAO,IAAA,CAAKH,EAAQ,CAAA,KACtB,CACF,CAEOI,CAAAA,CAAAA,CAASC,CAAoD,EAAA,IAAIX,EAAsBW,CAAoB","file":"index.cjs","sourcesContent":["import Pino, { type LoggerOptions, stdSerializers } from 'pino';\nimport { gcpLogOptions } from 'pino-cloud-logging';\n\nexport enum LogLevel {\n trace = 'trace',\n debug = 'debug',\n info = 'info',\n warn = 'warn',\n error = 'error',\n fatal = 'fatal',\n}\n\nconst getLevel = (logLevel?: LogLevel): LogLevel => {\n if (logLevel) return logLevel;\n if (process.env.LOG_LEVEL) return process.env.LOG_LEVEL as LogLevel;\n if (process.env.NODE_ENV && ['production', 'staging', 'test'].includes(process.env.NODE_ENV)) return LogLevel.info;\n if (process.env.NODE_ENV === 'development') return LogLevel.debug;\n return LogLevel.debug;\n};\n\nconst createLoggerInstance = (level: LogLevel, options: Omit<LoggerOptions, 'transport'>) => {\n let loggerInstance;\n if (process.env.NODE_ENV === 'production') {\n loggerInstance = Pino(gcpLogOptions({\n level: process.env.PINO_LOG_LEVEL || 'info',\n ...options,\n } as object));\n } else {\n loggerInstance = Pino({\n level: process.env.PINO_LOG_LEVEL || 'info',\n transport: {\n target: 'pino-pretty',\n options: {\n colorize: true,\n },\n },\n ...options,\n });\n }\n loggerInstance.level = level;\n return loggerInstance;\n};\n\ntype MiddlewareFunction = () => Record<string, unknown>;\n\nexport class LoggerInstanceManager {\n #contextMiddlewares: MiddlewareFunction[] = [];\n\n #logger: Pino.Logger;\n\n constructor(logLevel?: LogLevel) {\n this.#logger = createLoggerInstance(getLevel(logLevel), {\n mixin: () => this.addMetadata(),\n serializers: {\n ...stdSerializers,\n e: stdSerializers.errWithCause,\n err: stdSerializers.errWithCause,\n error: stdSerializers.errWithCause,\n errors(val) {\n if (Array.isArray(val)) {\n return val.map(stdSerializers.errWithCause);\n }\n return stdSerializers.errWithCause(val);\n },\n },\n });\n }\n\n // To support winston like logging in pino\n private winstonLikeLoggerCall(logLevel: LogLevel, message: string, meta: unknown) {\n if (meta) {\n this.#logger[logLevel](meta, message);\n } else {\n this.#logger[logLevel](message);\n }\n }\n\n private addMetadata(): Record<string, unknown> {\n const newMetadata = {};\n this.#contextMiddlewares.forEach((middleware) => {\n const metadata = middleware();\n Object.assign(newMetadata, metadata);\n });\n return newMetadata;\n }\n\n addContextMiddleware = (middleware: MiddlewareFunction) => this.#contextMiddlewares.push(middleware);\n\n trace = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.trace, message, meta);\n\n debug = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.debug, message, meta);\n\n info = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.info, message, meta);\n\n warn = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.warn, message, meta);\n\n error = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.error, message, meta);\n\n fatal = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.fatal, message, meta);\n\n child = (metadata: Record<string, unknown>) => this.#logger.child(metadata);\n\n get level() {\n return this.#logger.level;\n }\n}\n\nexport default (loglevel?: `${LogLevel}`): LoggerInstanceManager => new LoggerInstanceManager(loglevel as LogLevel);\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["LogLevel","getLevel","__name","logLevel","process","env","LOG_LEVEL","NODE_ENV","includes","createLoggerInstance","level","options","loggerInstance","Pino","gcpLogOptions","PINO_LOG_LEVEL","transport","target","colorize","LoggerInstanceManager","#contextMiddlewares","#logger","constructor","mixin","addMetadata","serializers","stdSerializers","e","errWithCause","err","error","errors","val","Array","isArray","map","winstonLikeLoggerCall","message","meta","newMetadata","forEach","middleware","metadata","Object","assign","addContextMiddleware","push","trace","debug","info","warn","fatal","child","index_default","loglevel"],"mappings":"2PAAA,IAAA,CAAA,CAAA,MAAA,CAAA,cAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,YAAA,CAAA,IAAA,CAAA,CAAA,CAGYA,wBAAAA,CAAAA,SAAAA,CAAAA,CAAAA,gGAAAA,gBAAAA,GAAAA,gBAAAA,CAAAA,EAAAA,CAAAA,EASNC,IAAAA,CAAAA,CAAWC,CAACC,CAAAA,CAAAA,EACZA,IACAC,OAAQC,CAAAA,GAAAA,CAAIC,SAAkBF,CAAAA,OAAAA,CAAQC,IAAIC,SAC1CF,CAAAA,OAAAA,CAAQC,GAAIE,CAAAA,QAAAA,EAAY,CAAC,YAAc,CAAA,SAAA,CAAW,MAAQC,CAAAA,CAAAA,QAAAA,CAASJ,QAAQC,GAAIE,CAAAA,QAAQ,CAAG,CAAA,MAAA,EAC1FH,QAAQC,GAAIE,CAAAA,QAAAA,GAAa,aAAe,CAAA,OAAA,CAAA,CAAA,CAJ7B,YAQXE,CAAuBP,CAAAA,CAAAA,CAAA,CAACQ,CAAAA,CAAiBC,IAAAA,CAC7C,IAAIC,CACJ,CAAA,OAAIR,QAAQC,GAAIE,CAAAA,QAAAA,GAAa,YAC3BK,CAAAA,CAAAA,CAAiBC,mBAAKC,8BAAc,CAAA,CAClCJ,KAAON,CAAAA,OAAAA,CAAQC,IAAIU,cAAkB,EAAA,MAAA,CACrC,GAAGJ,CACL,CAAA,CAAA,CAAA,CAEAC,CAAiBC,CAAAA,kBAAAA,CAAK,CACpBH,KAAON,CAAAA,OAAAA,CAAQC,GAAIU,CAAAA,cAAAA,EAAkB,MACrCC,CAAAA,SAAAA,CAAW,CACTC,MAAAA,CAAQ,cACRN,OAAS,CAAA,CACPO,QAAU,CAAA,IACZ,CACF,CACA,CAAA,GAAGP,CACL,CAAA,EAEFC,CAAeF,CAAAA,KAAAA,CAAQA,CAChBE,CAAAA,CACT,EArB6B,sBAyBhBO,CAAAA,CAAAA,CAAAA,CAAN,KAAMA,CA7Cb,OA6CaA,CAAAA,CAAAA,IACXC,CAAAA,uBAAAA,EAAAA,CAAAA,EAAAA,CAA4C,EAE5CC,CAAAA,EAAAA,CAEAC,WAAYnB,CAAAA,CAAAA,CAAqB,CAC/B,IAAKkB,CAAAA,EAAAA,CAAUZ,CAAqBR,CAAAA,CAAAA,CAASE,CAAAA,CAAW,CAAA,CACtDoB,KAAOrB,CAAAA,CAAAA,CAAA,IAAM,IAAKsB,CAAAA,WAAAA,EAAX,CAAA,OAAA,CAAA,CACPC,YAAa,CACX,GAAGC,gBACHC,CAAAA,CAAAA,CAAGD,iBAAeE,YAClBC,CAAAA,GAAAA,CAAKH,gBAAeE,CAAAA,YAAAA,CACpBE,MAAOJ,gBAAeE,CAAAA,YAAAA,CACtBG,MAAOC,CAAAA,CAAAA,CAAG,CACR,OAAIC,KAAAA,CAAMC,OAAQF,CAAAA,CAAAA,EACTA,CAAIG,CAAAA,GAAAA,CAAIT,gBAAeE,CAAAA,YAAY,EAErCF,gBAAeE,CAAAA,YAAAA,CAAaI,CAAAA,CACrC,CACF,CACF,CAAA,EACF,CAGQI,qBAAsBjC,CAAAA,CAAAA,CAAoBkC,CAAiBC,CAAAA,CAAAA,CAAqB,CAClFA,CACF,CAAA,IAAA,CAAKjB,EAAQlB,CAAAA,CAAAA,EAAUmC,CAAMD,CAAAA,CAAAA,CAE7B,CAAA,IAAA,CAAKhB,GAAQlB,CAAAA,CAAAA,CAAUkC,CAAAA,EAE3B,CAEQb,WAAuC,EAAA,CAC7C,IAAMe,CAAAA,CAAc,EACpB,CAAA,OAAA,IAAA,CAAKnB,EAAoBoB,CAAAA,OAAAA,CAASC,GAAAA,CAChC,IAAMC,CAAWD,CAAAA,CAAAA,GACjBE,MAAOC,CAAAA,MAAAA,CAAOL,CAAaG,CAAAA,CAAAA,EAC7B,CAAA,CAAA,CACOH,CACT,CAEAM,qBAAuB3C,CAACuC,CAAAA,CAAAA,EAA2C,IAAKrB,CAAAA,EAAAA,CAAoB0B,KAAKL,CAAAA,CAAAA,CAA1E,sBAEvBM,CAAAA,CAAAA,KAAAA,CAAQ7C,EAAA,CAACmC,CAAAA,CAAiBC,CAAyB,GAAA,IAAA,CAAKF,sBAAqB,OAAiBC,CAAAA,CAAAA,CAASC,CAAAA,CAAAA,CAA/F,SAERU,KAAQ9C,CAAAA,CAAAA,CAAA,CAACmC,CAAAA,CAAiBC,IAAyB,IAAKF,CAAAA,qBAAAA,CAAqB,OAAiBC,CAAAA,CAAAA,CAASC,CAAAA,CAAAA,CAA/F,OAERW,CAAAA,CAAAA,IAAAA,CAAO/C,EAAA,CAACmC,CAAAA,CAAiBC,CAAyB,GAAA,IAAA,CAAKF,sBAAqB,MAAgBC,CAAAA,CAAAA,CAASC,CAAAA,CAAAA,CAA9F,QAEPY,IAAOhD,CAAAA,CAAAA,CAAA,CAACmC,CAAAA,CAAiBC,IAAyB,IAAKF,CAAAA,qBAAAA,CAAqB,MAAgBC,CAAAA,CAAAA,CAASC,CAAAA,CAA9F,CAAA,MAAA,CAAA,CAEPR,KAAQ5B,CAAAA,CAAAA,CAAA,CAACmC,CAAiBC,CAAAA,CAAAA,GAAyB,IAAKF,CAAAA,qBAAAA,CAAqB,QAAiBC,CAASC,CAAAA,CAAAA,CAA/F,CAAA,OAAA,CAAA,CAERa,MAAQjD,CAAA,CAAA,CAACmC,CAAiBC,CAAAA,CAAAA,GAAyB,KAAKF,qBAAqB,CAAA,OAAA,CAAiBC,CAASC,CAAAA,CAAAA,EAA/F,OAERc,CAAAA,CAAAA,KAAAA,CAAQlD,CAACwC,CAAAA,CAAAA,EAAmD,KAAKrB,EAAQ+B,CAAAA,KAAAA,CAAMV,CAAAA,CAAAA,CAAvE,SAER,IAAIhC,KAAAA,EAAsC,CACxC,OAAO,KAAKW,EAAQX,CAAAA,KACtB,CACF,CAAA,CAEA2C,EAAenD,CAACoD,CAAAA,CAAAA,EAAoD,IAAInC,CAAAA,CAAsBmC,CAAAA,CAA/E,CAAA,SAAA","file":"index.cjs","sourcesContent":["import Pino, { type LoggerOptions, stdSerializers } from 'pino';\nimport { gcpLogOptions } from 'pino-cloud-logging';\n\nexport enum LogLevel {\n trace = 'trace',\n debug = 'debug',\n info = 'info',\n warn = 'warn',\n error = 'error',\n fatal = 'fatal',\n}\n\nconst getLevel = (logLevel?: LogLevel): LogLevel => {\n if (logLevel) return logLevel;\n if (process.env.LOG_LEVEL) return process.env.LOG_LEVEL as LogLevel;\n if (process.env.NODE_ENV && ['production', 'staging', 'test'].includes(process.env.NODE_ENV)) return LogLevel.info;\n if (process.env.NODE_ENV === 'development') return LogLevel.debug;\n return LogLevel.debug;\n};\n\nconst createLoggerInstance = (level: LogLevel, options: Omit<LoggerOptions, 'transport'>): Pino.Logger => {\n let loggerInstance;\n if (process.env.NODE_ENV === 'production') {\n loggerInstance = Pino(gcpLogOptions({\n level: process.env.PINO_LOG_LEVEL || 'info',\n ...options,\n } as object));\n } else {\n loggerInstance = Pino({\n level: process.env.PINO_LOG_LEVEL || 'info',\n transport: {\n target: 'pino-pretty',\n options: {\n colorize: true,\n },\n },\n ...options,\n });\n }\n loggerInstance.level = level;\n return loggerInstance;\n};\n\ntype MiddlewareFunction = () => Record<string, unknown>;\n\nexport class LoggerInstanceManager {\n #contextMiddlewares: MiddlewareFunction[] = [];\n\n #logger: Pino.Logger;\n\n constructor(logLevel?: LogLevel) {\n this.#logger = createLoggerInstance(getLevel(logLevel), {\n mixin: () => this.addMetadata(),\n serializers: {\n ...stdSerializers,\n e: stdSerializers.errWithCause,\n err: stdSerializers.errWithCause,\n error: stdSerializers.errWithCause,\n errors(val) {\n if (Array.isArray(val)) {\n return val.map(stdSerializers.errWithCause);\n }\n return stdSerializers.errWithCause(val);\n },\n },\n });\n }\n\n // To support winston like logging in pino\n private winstonLikeLoggerCall(logLevel: LogLevel, message: string, meta: unknown): void {\n if (meta) {\n this.#logger[logLevel](meta, message);\n } else {\n this.#logger[logLevel](message);\n }\n }\n\n private addMetadata(): Record<string, unknown> {\n const newMetadata = {};\n this.#contextMiddlewares.forEach((middleware) => {\n const metadata = middleware();\n Object.assign(newMetadata, metadata);\n });\n return newMetadata;\n }\n\n addContextMiddleware = (middleware: MiddlewareFunction): number => this.#contextMiddlewares.push(middleware);\n\n trace = (message: string, meta?: unknown): void => this.winstonLikeLoggerCall(LogLevel.trace, message, meta);\n\n debug = (message: string, meta?: unknown): void => this.winstonLikeLoggerCall(LogLevel.debug, message, meta);\n\n info = (message: string, meta?: unknown): void => this.winstonLikeLoggerCall(LogLevel.info, message, meta);\n\n warn = (message: string, meta?: unknown): void => this.winstonLikeLoggerCall(LogLevel.warn, message, meta);\n\n error = (message: string, meta?: unknown): void => this.winstonLikeLoggerCall(LogLevel.error, message, meta);\n\n fatal = (message: string, meta?: unknown): void => this.winstonLikeLoggerCall(LogLevel.fatal, message, meta);\n\n child = (metadata: Record<string, unknown>): Pino.Logger => this.#logger.child(metadata);\n\n get level(): Pino.LevelWithSilentOrString {\n return this.#logger.level;\n }\n}\n\nexport default (loglevel?: `${LogLevel}`): LoggerInstanceManager => new LoggerInstanceManager(loglevel as LogLevel);\n"]}
package/dist/index.d.cts CHANGED
@@ -21,7 +21,7 @@ declare class LoggerInstanceManager {
21
21
  warn: (message: string, meta?: unknown) => void;
22
22
  error: (message: string, meta?: unknown) => void;
23
23
  fatal: (message: string, meta?: unknown) => void;
24
- child: (metadata: Record<string, unknown>) => Pino.Logger<never>;
24
+ child: (metadata: Record<string, unknown>) => Pino.Logger;
25
25
  get level(): Pino.LevelWithSilentOrString;
26
26
  }
27
27
  declare const _default: (loglevel?: `${LogLevel}`) => LoggerInstanceManager;
package/dist/index.d.ts CHANGED
@@ -21,7 +21,7 @@ declare class LoggerInstanceManager {
21
21
  warn: (message: string, meta?: unknown) => void;
22
22
  error: (message: string, meta?: unknown) => void;
23
23
  fatal: (message: string, meta?: unknown) => void;
24
- child: (metadata: Record<string, unknown>) => Pino.Logger<never>;
24
+ child: (metadata: Record<string, unknown>) => Pino.Logger;
25
25
  get level(): Pino.LevelWithSilentOrString;
26
26
  }
27
27
  declare const _default: (loglevel?: `${LogLevel}`) => LoggerInstanceManager;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import a,{stdSerializers}from'pino';import {gcpLogOptions}from'pino-cloud-logging';var l=(t=>(t.trace="trace",t.debug="debug",t.info="info",t.warn="warn",t.error="error",t.fatal="fatal",t))(l||{}),L=n=>n||(process.env.LOG_LEVEL?process.env.LOG_LEVEL:process.env.NODE_ENV&&["production","staging","test"].includes(process.env.NODE_ENV)?"info":(process.env.NODE_ENV==="development","debug")),u=(n,e)=>{let r;return process.env.NODE_ENV==="production"?r=a(gcpLogOptions({level:process.env.PINO_LOG_LEVEL||"info",...e})):r=a({level:process.env.PINO_LOG_LEVEL||"info",transport:{target:"pino-pretty",options:{colorize:true}},...e}),r.level=n,r},s=class{constructor(e){this.#r=[];this.addContextMiddleware=e=>this.#r.push(e);this.trace=(e,r)=>this.winstonLikeLoggerCall("trace",e,r);this.debug=(e,r)=>this.winstonLikeLoggerCall("debug",e,r);this.info=(e,r)=>this.winstonLikeLoggerCall("info",e,r);this.warn=(e,r)=>this.winstonLikeLoggerCall("warn",e,r);this.error=(e,r)=>this.winstonLikeLoggerCall("error",e,r);this.fatal=(e,r)=>this.winstonLikeLoggerCall("fatal",e,r);this.child=e=>this.#e.child(e);this.#e=u(L(e),{mixin:()=>this.addMetadata(),serializers:{...stdSerializers,e:stdSerializers.errWithCause,err:stdSerializers.errWithCause,error:stdSerializers.errWithCause,errors(r){return Array.isArray(r)?r.map(stdSerializers.errWithCause):stdSerializers.errWithCause(r)}}});}#r;#e;winstonLikeLoggerCall(e,r,i){i?this.#e[e](i,r):this.#e[e](r);}addMetadata(){let e={};return this.#r.forEach(r=>{let i=r();Object.assign(e,i);}),e}get level(){return this.#e.level}},p=n=>new s(n);export{l as LogLevel,s as LoggerInstanceManager,p as default};//# sourceMappingURL=index.js.map
1
+ import a,{stdSerializers}from'pino';import {gcpLogOptions}from'pino-cloud-logging';var c=Object.defineProperty;var i=(t,e)=>c(t,"name",{value:e,configurable:true});var l;(function(t){t.trace="trace",t.debug="debug",t.info="info",t.warn="warn",t.error="error",t.fatal="fatal";})(l||(l={}));var d=i(t=>t||(process.env.LOG_LEVEL?process.env.LOG_LEVEL:process.env.NODE_ENV&&["production","staging","test"].includes(process.env.NODE_ENV)?"info":(process.env.NODE_ENV==="development","debug")),"getLevel"),g=i((t,e)=>{let r;return process.env.NODE_ENV==="production"?r=a(gcpLogOptions({level:process.env.PINO_LOG_LEVEL||"info",...e})):r=a({level:process.env.PINO_LOG_LEVEL||"info",transport:{target:"pino-pretty",options:{colorize:true}},...e}),r.level=t,r},"createLoggerInstance"),o=class{static{i(this,"LoggerInstanceManager");}#r=[];#e;constructor(e){this.#e=g(d(e),{mixin:i(()=>this.addMetadata(),"mixin"),serializers:{...stdSerializers,e:stdSerializers.errWithCause,err:stdSerializers.errWithCause,error:stdSerializers.errWithCause,errors(r){return Array.isArray(r)?r.map(stdSerializers.errWithCause):stdSerializers.errWithCause(r)}}});}winstonLikeLoggerCall(e,r,s){s?this.#e[e](s,r):this.#e[e](r);}addMetadata(){let e={};return this.#r.forEach(r=>{let s=r();Object.assign(e,s);}),e}addContextMiddleware=i(e=>this.#r.push(e),"addContextMiddleware");trace=i((e,r)=>this.winstonLikeLoggerCall("trace",e,r),"trace");debug=i((e,r)=>this.winstonLikeLoggerCall("debug",e,r),"debug");info=i((e,r)=>this.winstonLikeLoggerCall("info",e,r),"info");warn=i((e,r)=>this.winstonLikeLoggerCall("warn",e,r),"warn");error=i((e,r)=>this.winstonLikeLoggerCall("error",e,r),"error");fatal=i((e,r)=>this.winstonLikeLoggerCall("fatal",e,r),"fatal");child=i(e=>this.#e.child(e),"child");get level(){return this.#e.level}},L=i(t=>new o(t),"default");export{l as LogLevel,o as LoggerInstanceManager,L as default};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["LogLevel","getLevel","logLevel","createLoggerInstance","level","options","loggerInstance","Pino","gcpLogOptions","LoggerInstanceManager","#contextMiddlewares","middleware","message","meta","metadata","#logger","stdSerializers","val","newMetadata","index_default","loglevel"],"mappings":"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","file":"index.js","sourcesContent":["import Pino, { type LoggerOptions, stdSerializers } from 'pino';\nimport { gcpLogOptions } from 'pino-cloud-logging';\n\nexport enum LogLevel {\n trace = 'trace',\n debug = 'debug',\n info = 'info',\n warn = 'warn',\n error = 'error',\n fatal = 'fatal',\n}\n\nconst getLevel = (logLevel?: LogLevel): LogLevel => {\n if (logLevel) return logLevel;\n if (process.env.LOG_LEVEL) return process.env.LOG_LEVEL as LogLevel;\n if (process.env.NODE_ENV && ['production', 'staging', 'test'].includes(process.env.NODE_ENV)) return LogLevel.info;\n if (process.env.NODE_ENV === 'development') return LogLevel.debug;\n return LogLevel.debug;\n};\n\nconst createLoggerInstance = (level: LogLevel, options: Omit<LoggerOptions, 'transport'>) => {\n let loggerInstance;\n if (process.env.NODE_ENV === 'production') {\n loggerInstance = Pino(gcpLogOptions({\n level: process.env.PINO_LOG_LEVEL || 'info',\n ...options,\n } as object));\n } else {\n loggerInstance = Pino({\n level: process.env.PINO_LOG_LEVEL || 'info',\n transport: {\n target: 'pino-pretty',\n options: {\n colorize: true,\n },\n },\n ...options,\n });\n }\n loggerInstance.level = level;\n return loggerInstance;\n};\n\ntype MiddlewareFunction = () => Record<string, unknown>;\n\nexport class LoggerInstanceManager {\n #contextMiddlewares: MiddlewareFunction[] = [];\n\n #logger: Pino.Logger;\n\n constructor(logLevel?: LogLevel) {\n this.#logger = createLoggerInstance(getLevel(logLevel), {\n mixin: () => this.addMetadata(),\n serializers: {\n ...stdSerializers,\n e: stdSerializers.errWithCause,\n err: stdSerializers.errWithCause,\n error: stdSerializers.errWithCause,\n errors(val) {\n if (Array.isArray(val)) {\n return val.map(stdSerializers.errWithCause);\n }\n return stdSerializers.errWithCause(val);\n },\n },\n });\n }\n\n // To support winston like logging in pino\n private winstonLikeLoggerCall(logLevel: LogLevel, message: string, meta: unknown) {\n if (meta) {\n this.#logger[logLevel](meta, message);\n } else {\n this.#logger[logLevel](message);\n }\n }\n\n private addMetadata(): Record<string, unknown> {\n const newMetadata = {};\n this.#contextMiddlewares.forEach((middleware) => {\n const metadata = middleware();\n Object.assign(newMetadata, metadata);\n });\n return newMetadata;\n }\n\n addContextMiddleware = (middleware: MiddlewareFunction) => this.#contextMiddlewares.push(middleware);\n\n trace = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.trace, message, meta);\n\n debug = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.debug, message, meta);\n\n info = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.info, message, meta);\n\n warn = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.warn, message, meta);\n\n error = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.error, message, meta);\n\n fatal = (message: string, meta?: unknown) => this.winstonLikeLoggerCall(LogLevel.fatal, message, meta);\n\n child = (metadata: Record<string, unknown>) => this.#logger.child(metadata);\n\n get level() {\n return this.#logger.level;\n }\n}\n\nexport default (loglevel?: `${LogLevel}`): LoggerInstanceManager => new LoggerInstanceManager(loglevel as LogLevel);\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["LogLevel","getLevel","__name","logLevel","process","env","LOG_LEVEL","NODE_ENV","includes","createLoggerInstance","level","options","loggerInstance","Pino","gcpLogOptions","PINO_LOG_LEVEL","transport","target","colorize","LoggerInstanceManager","#contextMiddlewares","#logger","constructor","mixin","addMetadata","serializers","stdSerializers","e","errWithCause","err","error","errors","val","Array","isArray","map","winstonLikeLoggerCall","message","meta","newMetadata","forEach","middleware","metadata","Object","assign","addContextMiddleware","push","trace","debug","info","warn","fatal","child","index_default","loglevel"],"mappings":"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","file":"index.js","sourcesContent":["import Pino, { type LoggerOptions, stdSerializers } from 'pino';\nimport { gcpLogOptions } from 'pino-cloud-logging';\n\nexport enum LogLevel {\n trace = 'trace',\n debug = 'debug',\n info = 'info',\n warn = 'warn',\n error = 'error',\n fatal = 'fatal',\n}\n\nconst getLevel = (logLevel?: LogLevel): LogLevel => {\n if (logLevel) return logLevel;\n if (process.env.LOG_LEVEL) return process.env.LOG_LEVEL as LogLevel;\n if (process.env.NODE_ENV && ['production', 'staging', 'test'].includes(process.env.NODE_ENV)) return LogLevel.info;\n if (process.env.NODE_ENV === 'development') return LogLevel.debug;\n return LogLevel.debug;\n};\n\nconst createLoggerInstance = (level: LogLevel, options: Omit<LoggerOptions, 'transport'>): Pino.Logger => {\n let loggerInstance;\n if (process.env.NODE_ENV === 'production') {\n loggerInstance = Pino(gcpLogOptions({\n level: process.env.PINO_LOG_LEVEL || 'info',\n ...options,\n } as object));\n } else {\n loggerInstance = Pino({\n level: process.env.PINO_LOG_LEVEL || 'info',\n transport: {\n target: 'pino-pretty',\n options: {\n colorize: true,\n },\n },\n ...options,\n });\n }\n loggerInstance.level = level;\n return loggerInstance;\n};\n\ntype MiddlewareFunction = () => Record<string, unknown>;\n\nexport class LoggerInstanceManager {\n #contextMiddlewares: MiddlewareFunction[] = [];\n\n #logger: Pino.Logger;\n\n constructor(logLevel?: LogLevel) {\n this.#logger = createLoggerInstance(getLevel(logLevel), {\n mixin: () => this.addMetadata(),\n serializers: {\n ...stdSerializers,\n e: stdSerializers.errWithCause,\n err: stdSerializers.errWithCause,\n error: stdSerializers.errWithCause,\n errors(val) {\n if (Array.isArray(val)) {\n return val.map(stdSerializers.errWithCause);\n }\n return stdSerializers.errWithCause(val);\n },\n },\n });\n }\n\n // To support winston like logging in pino\n private winstonLikeLoggerCall(logLevel: LogLevel, message: string, meta: unknown): void {\n if (meta) {\n this.#logger[logLevel](meta, message);\n } else {\n this.#logger[logLevel](message);\n }\n }\n\n private addMetadata(): Record<string, unknown> {\n const newMetadata = {};\n this.#contextMiddlewares.forEach((middleware) => {\n const metadata = middleware();\n Object.assign(newMetadata, metadata);\n });\n return newMetadata;\n }\n\n addContextMiddleware = (middleware: MiddlewareFunction): number => this.#contextMiddlewares.push(middleware);\n\n trace = (message: string, meta?: unknown): void => this.winstonLikeLoggerCall(LogLevel.trace, message, meta);\n\n debug = (message: string, meta?: unknown): void => this.winstonLikeLoggerCall(LogLevel.debug, message, meta);\n\n info = (message: string, meta?: unknown): void => this.winstonLikeLoggerCall(LogLevel.info, message, meta);\n\n warn = (message: string, meta?: unknown): void => this.winstonLikeLoggerCall(LogLevel.warn, message, meta);\n\n error = (message: string, meta?: unknown): void => this.winstonLikeLoggerCall(LogLevel.error, message, meta);\n\n fatal = (message: string, meta?: unknown): void => this.winstonLikeLoggerCall(LogLevel.fatal, message, meta);\n\n child = (metadata: Record<string, unknown>): Pino.Logger => this.#logger.child(metadata);\n\n get level(): Pino.LevelWithSilentOrString {\n return this.#logger.level;\n }\n}\n\nexport default (loglevel?: `${LogLevel}`): LoggerInstanceManager => new LoggerInstanceManager(loglevel as LogLevel);\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autofleet/logger",
3
- "version": "4.2.7",
3
+ "version": "4.2.8",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -40,7 +40,7 @@
40
40
  "bugs": {
41
41
  "url": "https://github.com/Autofleet/autorepo/issues"
42
42
  },
43
- "homepage": "https://github.com/Autofleet/autorepo/packages/logger#readme",
43
+ "homepage": "https://github.com/Autofleet/autorepo/tree/master/packages/logger#readme",
44
44
  "dependencies": {
45
45
  "pino": "9.2.0",
46
46
  "pino-cloud-logging": "^1.0.6",