@iamnnort/nestjs-logger 2.1.5 → 2.1.7

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.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var b=Object.defineProperty;var i=(r,e)=>b(r,"name",{value:e,configurable:!0});var _common = require('@nestjs/common');var _core = require('@nestjs/core');var _nestjspino = require('nestjs-pino');var{ConfigurableModuleClass:E,MODULE_OPTIONS_TOKEN:V,OPTIONS_TYPE:q,ASYNC_OPTIONS_TYPE:G}=new (0, _common.ConfigurableModuleBuilder)().build();function x(r,e,t,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,e,t,n);else for(var c=r.length-1;c>=0;c--)(a=r[c])&&(o=(s<3?a(o):s>3?a(e,t,o):a(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o}i(x,"_ts_decorate");var p=class{static{i(this,"LoggerExceptionFilter")}catch(e,t){let s=t.switchToHttp().getResponse();if(e instanceof _common.HttpException){let o=e.getStatus(),a=e.getResponse();return s.status(o).json(a)}s.status(_common.HttpStatus.INTERNAL_SERVER_ERROR).json({message:"Something went wrong.",error:"Internal Server Error",statusCode:_common.HttpStatus.INTERNAL_SERVER_ERROR})}};p=x([_common.Catch.call(void 0, )],p);var _http = require('@iamnnort/config/http');function S(r){let e=r;return{url:r.url,method:r.method,data:e.body}}i(S,"toAxiosConfig");function d(r,e){return{status:e.statusCode,statusText:e.statusMessage,data:void 0,headers:{},config:S(r)}}i(d,"toAxiosResponse");function I(r,e,t){return{...t,name:t.name,message:t.message,response:d(r,e),config:S(r)}}i(I,"toAxiosError");function l(r){return{pinoHttp:{name:"Http",level:r.level,timestamp:!1,transport:{target:"pino-pretty",options:{colorize:!1,ignore:"pid,hostname,req,res,responseTime,reqId"}},customSuccessMessage:i((e,t,n)=>{let s=d(e,t);return new (0, _http.HttpMessageBuilder)({response:s,duration:n}).makeMethodText().makeUrlText().makeStatusText().makeDurationText().build()},"customSuccessMessage"),customSuccessObject:i((e,t)=>{let n=d(e,t),s=new (0, _http.HttpMessageBuilder)({response:n}),o={},a=s.makeRequestDataObj();return Object.keys(a).length>0&&(o.request=a),o},"customSuccessObject"),customErrorMessage:i((e,t,n)=>{let s=I(e,t,n);return new (0, _http.HttpMessageBuilder)({error:s}).makeMethodText().makeUrlText().makeStatusText().build()},"customErrorMessage"),customLogLevel:i((e,t,n)=>n||t.statusCode>=_http.HttpStatuses.INTERNAL_SERVER_ERROR?"error":t.statusCode>=_http.HttpStatuses.BAD_REQUEST?"warn":"info","customLogLevel"),customAttributeKeys:{err:"error"}},forRoutes:[{path:"*",method:_common.RequestMethod.ALL}]}}i(l,"makePinoParams");var $=(function(r){return r.FATAL="fatal",r.ERROR="error",r.WARN="warn",r.INFO="info",r.DEBUG="debug",r.TRACE="trace",r})({}),f= exports.LoggerContexts =(function(r){return r.SYSTEM="System",r.INSTANCE_LOADER="InstanceLoader",r.ROUTES_RESOLVER="RoutesResolver",r.ROUTER_EXPLORER="RouterExplorer",r.NEST_FACTORY="NestFactory",r.NEST_APPLICATION="NestApplication",r})({});function _(r,e,t,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,e,t,n);else for(var c=r.length-1;c>=0;c--)(a=r[c])&&(o=(s<3?a(o):s>3?a(e,t,o):a(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o}i(_,"_ts_decorate");function M(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}i(M,"_ts_metadata");var u=class extends _common.ConsoleLogger{static{i(this,"LoggerService")}print(e,t,n){let s=_optionalChain([n, 'optionalAccess', _2 => _2.replace, 'call', _3 => _3(/^_/,"")])||this.context||"";if([f.INSTANCE_LOADER,f.ROUTES_RESOLVER,f.ROUTER_EXPLORER].includes(s))return;let c={[f.NEST_FACTORY]:"Application is starting...",[f.NEST_APPLICATION]:"Application started."}[s]||t||"";(s?this.pinoLogger.logger.child({name:s}):this.pinoLogger.logger)[e](c)}log(e,t){this.print("info",e,t)}error(e,t){this.print("error",e,t)}warn(e,t){this.print("warn",e,t)}debug(e,t){this.print("debug",e,t)}verbose(e,t){this.print("trace",e,t)}fatal(e,t){this.print("fatal",e,t)}};_([_common.Inject.call(void 0, _nestjspino.PinoLogger),M("design:type",typeof _nestjspino.PinoLogger>"u"?Object:_nestjspino.PinoLogger)],u.prototype,"pinoLogger",void 0);u= exports.LoggerService =_([_common.Injectable.call(void 0, {scope:_common.Scope.TRANSIENT})],u);function v(r,e,t,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,e,t,n);else for(var c=r.length-1;c>=0;c--)(a=r[c])&&(o=(s<3?a(o):s>3?a(e,t,o):a(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o}i(v,"_ts_decorate");var m=class extends E{static{i(this,"LoggerModule")}static register(e){let t=super.register(e);return{...t,imports:[..._nullishCoalesce(t.imports, () => ([])),_nestjspino.LoggerModule.forRoot(l(e))]}}static registerAsync(e){let t=super.registerAsync(e);return{...t,imports:[..._nullishCoalesce(t.imports, () => ([])),_nestjspino.LoggerModule.forRootAsync({imports:e.imports,inject:e.inject,useFactory:i(async(...n)=>{if(e.useFactory){let s=await e.useFactory(...n);return l(s)}return l({})},"useFactory")})]}}};m= exports.LoggerModule =v([_common.Global.call(void 0, ),_common.Module.call(void 0, {providers:[u,{provide:_core.APP_FILTER,useClass:p}],exports:[u]})],m);exports.LoggerContexts = f; exports.LoggerLevels = $; exports.LoggerModule = m; exports.LoggerService = u;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var b=Object.defineProperty;var i=(r,e)=>b(r,"name",{value:e,configurable:!0});var _common = require('@nestjs/common');var _core = require('@nestjs/core');var _nestjspino = require('nestjs-pino');var{ConfigurableModuleClass:g,MODULE_OPTIONS_TOKEN:G,OPTIONS_TYPE:K,ASYNC_OPTIONS_TYPE:X}=new (0, _common.ConfigurableModuleBuilder)().build();function h(r,e,t,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,e,t,n);else for(var c=r.length-1;c>=0;c--)(a=r[c])&&(o=(s<3?a(o):s>3?a(e,t,o):a(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o}i(h,"_ts_decorate");var p=class{static{i(this,"LoggerExceptionFilter")}catch(e,t){let s=t.switchToHttp().getResponse();if(e instanceof _common.HttpException){let o=e.getStatus(),a=e.getResponse();return s.status(o).json(a)}s.status(_common.HttpStatus.INTERNAL_SERVER_ERROR).json({message:"Something went wrong.",error:"Internal Server Error",statusCode:_common.HttpStatus.INTERNAL_SERVER_ERROR})}};p=h([_common.Catch.call(void 0, )],p);var _http = require('@iamnnort/config/http');function S(r){let e=r;return{url:r.url,method:r.method,data:e.body}}i(S,"toAxiosConfig");function d(r,e){return{status:e.statusCode,statusText:e.statusMessage,data:void 0,headers:{},config:S(r)}}i(d,"toAxiosResponse");function C(r,e,t){return{...t,name:t.name,message:t.message,response:d(r,e),config:S(r)}}i(C,"toAxiosError");function l(r){let e=new _http.HttpMessageFormatter;return{pinoHttp:[{name:"Http",level:r.level,timestamp:!1,customSuccessMessage:i((t,n,s)=>{let o=d(t,n);return new (0, _http.HttpMessageBuilder)({response:o,duration:s}).makeMethodText().makeUrlText().makeStatusText().makeDurationText().build()},"customSuccessMessage"),customSuccessObject:i((t,n)=>{let s=d(t,n),o=new (0, _http.HttpMessageBuilder)({response:s}),a={},c=o.makeRequestDataObj();return Object.keys(c).length>0&&(a.request=c),a},"customSuccessObject"),customErrorMessage:i((t,n,s)=>{let o=C(t,n,s);return new (0, _http.HttpMessageBuilder)({error:o}).makeMethodText().makeUrlText().makeStatusText().build()},"customErrorMessage"),customLogLevel:i((t,n,s)=>s||n.statusCode>=_http.HttpStatuses.INTERNAL_SERVER_ERROR?"error":n.statusCode>=_http.HttpStatuses.BAD_REQUEST?"warn":"info","customLogLevel"),customAttributeKeys:{err:"error"}},e.makeLogStream()],forRoutes:[{path:"*",method:_common.RequestMethod.ALL}]}}i(l,"makePinoParams");var oe=(function(r){return r.FATAL="fatal",r.ERROR="error",r.WARN="warn",r.INFO="info",r.DEBUG="debug",r.TRACE="trace",r})({}),f= exports.LoggerContexts =(function(r){return r.SYSTEM="System",r.INSTANCE_LOADER="InstanceLoader",r.ROUTES_RESOLVER="RoutesResolver",r.ROUTER_EXPLORER="RouterExplorer",r.NEST_FACTORY="NestFactory",r.NEST_APPLICATION="NestApplication",r})({});function _(r,e,t,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,e,t,n);else for(var c=r.length-1;c>=0;c--)(a=r[c])&&(o=(s<3?a(o):s>3?a(e,t,o):a(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o}i(_,"_ts_decorate");function M(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}i(M,"_ts_metadata");var u=class extends _common.ConsoleLogger{static{i(this,"LoggerService")}print(e,t,n){let s=_optionalChain([n, 'optionalAccess', _2 => _2.replace, 'call', _3 => _3(/^_/,"")])||this.context||"";if([f.INSTANCE_LOADER,f.ROUTES_RESOLVER,f.ROUTER_EXPLORER].includes(s))return;let c={[f.NEST_FACTORY]:"Application is starting...",[f.NEST_APPLICATION]:"Application started."}[s]||t||"";(s?this.pinoLogger.logger.child({name:s}):this.pinoLogger.logger)[e](c)}log(e,t){this.print("info",e,t)}error(e,t){this.print("error",e,t)}warn(e,t){this.print("warn",e,t)}debug(e,t){this.print("debug",e,t)}verbose(e,t){this.print("trace",e,t)}fatal(e,t){this.print("fatal",e,t)}};_([_common.Inject.call(void 0, _nestjspino.PinoLogger),M("design:type",typeof _nestjspino.PinoLogger>"u"?Object:_nestjspino.PinoLogger)],u.prototype,"pinoLogger",void 0);u= exports.LoggerService =_([_common.Injectable.call(void 0, {scope:_common.Scope.TRANSIENT})],u);function B(r,e,t,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,e,t,n);else for(var c=r.length-1;c>=0;c--)(a=r[c])&&(o=(s<3?a(o):s>3?a(e,t,o):a(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o}i(B,"_ts_decorate");var m=class extends g{static{i(this,"LoggerModule")}static register(e){let t=super.register(e);return{...t,imports:[..._nullishCoalesce(t.imports, () => ([])),_nestjspino.LoggerModule.forRoot(l(e))]}}static registerAsync(e){let t=super.registerAsync(e);return{...t,imports:[..._nullishCoalesce(t.imports, () => ([])),_nestjspino.LoggerModule.forRootAsync({imports:e.imports,inject:e.inject,useFactory:i(async(...n)=>{if(e.useFactory){let s=await e.useFactory(...n);return l(s)}return l({})},"useFactory")})]}}};m= exports.LoggerModule =B([_common.Global.call(void 0, ),_common.Module.call(void 0, {providers:[u,{provide:_core.APP_INTERCEPTOR,useClass:_nestjspino.LoggerErrorInterceptor},{provide:_core.APP_FILTER,useClass:p}],exports:[u]})],m);exports.LoggerContexts = f; exports.LoggerLevels = oe; exports.LoggerModule = m; exports.LoggerService = u;
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/nestjs-logger/nestjs-logger/dist/index.js","../src/module.ts","../src/module-definition.ts","../src/exception-filter.ts","../src/builder.ts","../src/service.ts","../src/types.ts"],"names":["ConfigurableModuleClass","MODULE_OPTIONS_TOKEN","OPTIONS_TYPE","ASYNC_OPTIONS_TYPE","ConfigurableModuleBuilder","build","LoggerExceptionFilter","catch","exception","host","response","switchToHttp","getResponse","HttpException","statusCode","getStatus","errorResponse","status","json","HttpStatus","INTERNAL_SERVER_ERROR","message","error","toAxiosConfig","req","expressReq","url","method","data","body","toAxiosResponse","res","statusText","statusMessage","undefined","headers","config","toAxiosError","name","makePinoParams","options","pinoHttp","level","timestamp","transport","target","colorize","ignore","customSuccessMessage","__name","duration","HttpMessageBuilder","makeMethodText","makeUrlText","makeStatusText","makeDurationText","customSuccessObject","messageBuilder","requestData","makeRequestDataObj","Object","keys","length","customErrorMessage","axiosError","customLogLevel","_","HttpStatuses","BAD_REQUEST","customAttributeKeys","err","forRoutes","path","RequestMethod","ALL","LoggerLevels","LoggerContexts","LoggerService","ConsoleLogger","pinoLogger","print","context","ctx","replace","INSTANCE_LOADER","ROUTES_RESOLVER","ROUTER_EXPLORER","includes","msg","NEST_FACTORY","NEST_APPLICATION","logger","child","log","warn","debug","verbose","fatal","scope","Scope","TRANSIENT","LoggerModule","register","base","imports","NestJsPinoLoggerModule","forRoot","registerAsync","forRootAsync","inject","useFactory","args","providers","provide","APP_FILTER","useClass","exports"],"mappings":"AAAA,qrBAAI,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CCA9E,wCAA8C,oCACnB,yCAC4B,GCC1C,CAAEA,uBAAAA,CAAAA,CAAAA,CAAyBC,oBAAAA,CAAAA,CAAAA,CAAsBC,YAAAA,CAAAA,CAAAA,CAAcC,kBAAAA,CAAAA,CAAkB,CAAA,CAC5F,IAAIC,sCAAAA,CAAAA,CAAAA,CAA0CC,KAAAA,CAAK,CAAA,CCJrD,SAA2F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,SAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA,CAAA,MAAA,CAAA,wBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,OAAA,OAAA,EAAA,QAAA,EAAA,OAAA,OAAA,CAAA,QAAA,EAAA,UAAA,CAAA,CAAA,CAAA,OAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,GAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAIpF,IAAMC,CAAAA,CAAN,KAAMA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,uBAAAA,CAAAA,CACXC,KAAAA,CAAMC,CAAAA,CAAgBC,CAAAA,CAAqB,CAEzC,IAAMC,CAAAA,CADMD,CAAAA,CAAKE,YAAAA,CAAY,CAAA,CACRC,WAAAA,CAAW,CAAA,CAEhC,EAAA,CAAIJ,EAAAA,WAAqBK,qBAAAA,CAAe,CACtC,IAAMC,CAAAA,CAAaN,CAAAA,CAAUO,SAAAA,CAAS,CAAA,CAChCC,CAAAA,CAAgBR,CAAAA,CAAUI,WAAAA,CAAW,CAAA,CAE3C,OAAOF,CAAAA,CAASO,MAAAA,CAAOH,CAAAA,CAAAA,CAAYI,IAAAA,CAAKF,CAAAA,CAC1C,CAEAN,CAAAA,CAASO,MAAAA,CAAOE,kBAAAA,CAAWC,qBAAqB,CAAA,CAAEF,IAAAA,CAAK,CACrDG,OAAAA,CAAS,uBAAA,CACTC,KAAAA,CAAO,uBAAA,CACPR,UAAAA,CAAYK,kBAAAA,CAAWC,qBACzB,CAAA,CACF,CACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,2BAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CClBA,6CACiD,SAExCG,CAAAA,CAAcC,CAAAA,CAAoB,CACzC,IAAMC,CAAAA,CAAaD,CAAAA,CAEnB,MAAO,CACLE,GAAAA,CAAKF,CAAAA,CAAIE,GAAAA,CACTC,MAAAA,CAAQH,CAAAA,CAAIG,MAAAA,CACZC,IAAAA,CAAMH,CAAAA,CAAWI,IACnB,CACF,CARSN,CAAAA,CAAAA,CAAAA,CAAAA,eAAAA,CAAAA,CAUT,SAASO,CAAAA,CAAgBN,CAAAA,CAAsBO,CAAAA,CAAmB,CAChE,MAAO,CACLd,MAAAA,CAAQc,CAAAA,CAAIjB,UAAAA,CACZkB,UAAAA,CAAYD,CAAAA,CAAIE,aAAAA,CAChBL,IAAAA,CAAMM,KAAAA,CAAAA,CACNC,OAAAA,CAAS,CAAC,CAAA,CACVC,MAAAA,CAAQb,CAAAA,CAAcC,CAAAA,CACxB,CACF,CARSM,CAAAA,CAAAA,CAAAA,CAAAA,iBAAAA,CAAAA,CAUT,SAASO,CAAAA,CAAab,CAAAA,CAAsBO,CAAAA,CAAqBT,CAAAA,CAAY,CAC3E,MAAO,CACL,GAAGA,CAAAA,CACHgB,IAAAA,CAAMhB,CAAAA,CAAMgB,IAAAA,CACZjB,OAAAA,CAASC,CAAAA,CAAMD,OAAAA,CACfX,QAAAA,CAAUoB,CAAAA,CAAgBN,CAAAA,CAAKO,CAAAA,CAAAA,CAC/BK,MAAAA,CAAQb,CAAAA,CAAcC,CAAAA,CACxB,CACF,CARSa,CAAAA,CAAAA,CAAAA,CAAAA,cAAAA,CAAAA,CAUF,SAASE,CAAAA,CAAeC,CAAAA,CAA4B,CACzD,MAAO,CACLC,QAAAA,CAAU,CACRH,IAAAA,CAAM,MAAA,CACNI,KAAAA,CAAOF,CAAAA,CAAQE,KAAAA,CACfC,SAAAA,CAAW,CAAA,CAAA,CACXC,SAAAA,CAAW,CACTC,MAAAA,CAAQ,aAAA,CACRL,OAAAA,CAAS,CACPM,QAAAA,CAAU,CAAA,CAAA,CACVC,MAAAA,CAAQ,yCACV,CACF,CAAA,CACAC,oBAAAA,CAAsBC,CAAAA,CAAA,CAACzB,CAAAA,CAAKO,CAAAA,CAAKmB,CAAAA,CAAAA,EAAAA,CAC/B,IAAMxC,CAAAA,CAAWoB,CAAAA,CAAgBN,CAAAA,CAAKO,CAAAA,CAAAA,CAStC,OAPuB,IAAIoB,6BAAAA,CAAmB,CAC5CzC,QAAAA,CAAAA,CAAAA,CACAwC,QAAAA,CAAAA,CACF,CAAA,CAAA,CAE+BE,cAAAA,CAAc,CAAA,CAAGC,WAAAA,CAAW,CAAA,CAAGC,cAAAA,CAAc,CAAA,CAAGC,gBAAAA,CAAgB,CAAA,CAAGlD,KAAAA,CAAK,CAGzG,CAAA,CAXsB,sBAAA,CAAA,CAYtBmD,mBAAAA,CAAqBP,CAAAA,CAAA,CAACzB,CAAAA,CAAKO,CAAAA,CAAAA,EAAAA,CACzB,IAAMrB,CAAAA,CAAWoB,CAAAA,CAAgBN,CAAAA,CAAKO,CAAAA,CAAAA,CAEhC0B,CAAAA,CAAiB,IAAIN,6BAAAA,CAAmB,CAC5CzC,QAAAA,CAAAA,CACF,CAAA,CAAA,CAEMkB,CAAAA,CAAO,CAAC,CAAA,CAER8B,CAAAA,CAAcD,CAAAA,CAAeE,kBAAAA,CAAkB,CAAA,CAErD,OAAIC,MAAAA,CAAOC,IAAAA,CAAKH,CAAAA,CAAAA,CAAaI,MAAAA,CAAS,CAAA,EAAA,CACpClC,CAAAA,CAAK,OAAA,CAAa8B,CAAAA,CAAAA,CAGb9B,CACT,CAAA,CAhBqB,qBAAA,CAAA,CAiBrBmC,kBAAAA,CAAoBd,CAAAA,CAAA,CAACzB,CAAAA,CAAKO,CAAAA,CAAKT,CAAAA,CAAAA,EAAAA,CAC7B,IAAM0C,CAAAA,CAAa3B,CAAAA,CAAab,CAAAA,CAAKO,CAAAA,CAAKT,CAAAA,CAAAA,CAQ1C,OANuB,IAAI6B,6BAAAA,CAAmB,CAC5C7B,KAAAA,CAAO0C,CACT,CAAA,CAAA,CAE+BZ,cAAAA,CAAc,CAAA,CAAGC,WAAAA,CAAW,CAAA,CAAGC,cAAAA,CAAc,CAAA,CAAGjD,KAAAA,CAAK,CAGtF,CAAA,CAVoB,oBAAA,CAAA,CAWpB4D,cAAAA,CAAgBhB,CAAAA,CAAA,CAACiB,CAAAA,CAAGnC,CAAAA,CAAKT,CAAAA,CAAAA,EACnBA,CAAAA,EAASS,CAAAA,CAAIjB,UAAAA,EAAcqD,kBAAAA,CAAa/C,qBAAAA,CACnC,OAAA,CAGLW,CAAAA,CAAIjB,UAAAA,EAAcqD,kBAAAA,CAAaC,WAAAA,CAC1B,MAAA,CAGF,MAAA,CATO,gBAAA,CAAA,CAWhBC,mBAAAA,CAAqB,CACnBC,GAAAA,CAAK,OACP,CACF,CAAA,CACAC,SAAAA,CAAW,CACT,CACEC,IAAAA,CAAM,GAAA,CACN7C,MAAAA,CAAQ8C,qBAAAA,CAAcC,GACxB,CAAA,CAEJ,CACF,CA3EgBnC,CAAAA,CAAAA,CAAAA,CAAAA,gBAAAA,CAAAA,CCrChB,ICIYoC,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,KAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CASAC,CAAAA,0BAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,MAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,eAAAA,CAAAA,gBAAAA,CAAAA,CAAAA,CAAAA,eAAAA,CAAAA,gBAAAA,CAAAA,CAAAA,CAAAA,eAAAA,CAAAA,gBAAAA,CAAAA,CAAAA,CAAAA,YAAAA,CAAAA,aAAAA,CAAAA,CAAAA,CAAAA,gBAAAA,CAAAA,iBAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,SAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,IAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,wBAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,OAAAA,OAAAA,EAAAA,QAAAA,EAAAA,OAAAA,OAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,GAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,EAAAA,MAAAA,CAAAA,cAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,cAAAA,CAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,OAAAA,OAAAA,EAAAA,QAAAA,EAAAA,OAAAA,OAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA,OAAAA,OAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,cAAAA,CAAAA,CDNL,IAAMC,CAAAA,CAAN,MAAA,QAA4BC,qBAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,eAAAA,CAAAA,CAEhBC,KAETC,CAAMtC,CAAAA,CAAerB,CAAAA,CAAc4D,CAAAA,CAAkB,CAC3D,IAAMC,CAAAA,iBAAMD,CAAAA,6BAASE,OAAAA,mBAAQ,IAAA,CAAM,EAAA,GAAA,EAAO,IAAA,CAAKF,OAAAA,EAAW,EAAA,CAQ1D,EAAA,CAN+B,CAC7BL,CAAAA,CAAeQ,eAAAA,CACfR,CAAAA,CAAeS,eAAAA,CACfT,CAAAA,CAAeU,eAAAA,CAAAA,CAGAC,QAAAA,CAASL,CAAAA,CAAAA,CACxB,MAAA,CAQF,IAAMM,CAAAA,CALwC,CAC5C,CAACZ,CAAAA,CAAea,YAAY,CAAA,CAAG,4BAAA,CAC/B,CAACb,CAAAA,CAAec,gBAAgB,CAAA,CAAG,sBACrC,CAAA,CAE0BR,CAAAA,CAAAA,EAAQ7D,CAAAA,EAAW,EAAA,CAAA,CAE9B6D,CAAAA,CAAM,IAAA,CAAKH,UAAAA,CAAWY,MAAAA,CAAOC,KAAAA,CAAM,CAAEtD,IAAAA,CAAM4C,CAAI,CAAA,CAAA,CAAK,IAAA,CAAKH,UAAAA,CAAWY,MAAAA,CAAAA,CAE5EjD,CAAAA,CAAAA,CAAO8C,CAAAA,CAChB,CAEAK,GAAAA,CAAIxE,CAAAA,CAAc4D,CAAAA,CAAkB,CAClC,IAAA,CAAKD,KAAAA,CAAM,MAAA,CAAQ3D,CAAAA,CAAS4D,CAAAA,CAC9B,CAEA3D,KAAAA,CAAMD,CAAAA,CAAc4D,CAAAA,CAAkB,CACpC,IAAA,CAAKD,KAAAA,CAAM,OAAA,CAAS3D,CAAAA,CAAS4D,CAAAA,CAC/B,CAEAa,IAAAA,CAAKzE,CAAAA,CAAc4D,CAAAA,CAAkB,CACnC,IAAA,CAAKD,KAAAA,CAAM,MAAA,CAAQ3D,CAAAA,CAAS4D,CAAAA,CAC9B,CAEAc,KAAAA,CAAM1E,CAAAA,CAAc4D,CAAAA,CAAkB,CACpC,IAAA,CAAKD,KAAAA,CAAM,OAAA,CAAS3D,CAAAA,CAAS4D,CAAAA,CAC/B,CAEAe,OAAAA,CAAQ3E,CAAAA,CAAc4D,CAAAA,CAAkB,CACtC,IAAA,CAAKD,KAAAA,CAAM,OAAA,CAAS3D,CAAAA,CAAS4D,CAAAA,CAC/B,CAEAgB,KAAAA,CAAM5E,CAAAA,CAAc4D,CAAAA,CAAkB,CACpC,IAAA,CAAKD,KAAAA,CAAM,OAAA,CAAS3D,CAAAA,CAAS4D,CAAAA,CAC/B,CACF,CAAA,CAAA,CAAA,CAAA,CAAA,4BAAA,sBAAA,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA,OAAA,sBAAA,CAAA,GAAA,CAAA,MAAA,CAAA,sBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,yBAAA,CAAA,CAAA,CAAA,gCAAA,CAtDEiB,KAAAA,CAAOC,aAAAA,CAAMC,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,SAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,IAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,wBAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,OAAAA,OAAAA,EAAAA,QAAAA,EAAAA,OAAAA,OAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,GAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,EAAAA,MAAAA,CAAAA,cAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,cAAAA,CAAAA,CJSR,IAAMC,CAAAA,CAAN,MAAA,QAA2BrG,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,cAAAA,CAAAA,CAChC,OAAOsG,QAAAA,CAAS9D,CAAAA,CAA6C,CAC3D,IAAM+D,CAAAA,CAAO,KAAA,CAAMD,QAAAA,CAAS9D,CAAAA,CAAAA,CAE5B,MAAO,CACL,GAAG+D,CAAAA,CACHC,OAAAA,CAAS,CAAA,oBAAKD,CAAAA,CAAKC,OAAAA,SAAW,CAAA,GAAA,CAAKC,wBAAAA,CAAuBC,OAAAA,CAAQnE,CAAAA,CAAeC,CAAAA,CAAAA,CAAAA,CACnF,CACF,CAEA,OAAOmE,aAAAA,CAAcnE,CAAAA,CAAmD,CACtE,IAAM+D,CAAAA,CAAO,KAAA,CAAMI,aAAAA,CAAcnE,CAAAA,CAAAA,CAEjC,MAAO,CACL,GAAG+D,CAAAA,CACHC,OAAAA,CAAS,CAAA,oBACHD,CAAAA,CAAKC,OAAAA,SAAW,CAAA,GAAA,CACpBC,wBAAAA,CAAuBG,YAAAA,CAAa,CAClCJ,OAAAA,CAAShE,CAAAA,CAAQgE,OAAAA,CACjBK,MAAAA,CAAQrE,CAAAA,CAAQqE,MAAAA,CAChBC,UAAAA,CAAY7D,CAAAA,CAAA,KAAA,CAAA,GAAU8D,CAAAA,CAAAA,EAAAA,CACpB,EAAA,CAAIvE,CAAAA,CAAQsE,UAAAA,CAAY,CACtB,IAAM1E,CAAAA,CAAS,MAAMI,CAAAA,CAAQsE,UAAAA,CAAU,GAAIC,CAAAA,CAAAA,CAE3C,OAAOxE,CAAAA,CAAeH,CAAAA,CACxB,CAEA,OAAOG,CAAAA,CAAe,CAAC,CAAA,CACzB,CAAA,CARY,YAAA,CASd,CAAA,CAAA,CAEJ,CACF,CACF,CAAA,CAAA,CAAA,wBAAA,CAAA,CAAA,CAAA,4BAAA,CAAA,CAAA,4BAAA,CApCEyE,SAAAA,CAAW,CAACnC,CAAAA,CAAe,CAAEoC,OAAAA,CAASC,gBAAAA,CAAYC,QAAAA,CAAU7G,CAAsB,CAAA,CAAA,CAClF8G,OAAAA,CAAS,CAACvC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,0GAAAA","file":"/home/runner/work/nestjs-logger/nestjs-logger/dist/index.js","sourcesContent":[null,"import { DynamicModule, Global, Module } from '@nestjs/common';\nimport { APP_FILTER } from '@nestjs/core';\nimport { LoggerModule as NestJsPinoLoggerModule } from 'nestjs-pino';\nimport { ASYNC_OPTIONS_TYPE, ConfigurableModuleClass, OPTIONS_TYPE } from './module-definition';\nimport { LoggerExceptionFilter } from './exception-filter';\nimport { makePinoParams } from './builder';\nimport { LoggerService } from './service';\nimport type { LoggerConfig } from './types';\n\n@Global()\n@Module({\n providers: [LoggerService, { provide: APP_FILTER, useClass: LoggerExceptionFilter }],\n exports: [LoggerService],\n})\nexport class LoggerModule extends ConfigurableModuleClass {\n static register(options: typeof OPTIONS_TYPE): DynamicModule {\n const base = super.register(options);\n\n return {\n ...base,\n imports: [...(base.imports ?? []), NestJsPinoLoggerModule.forRoot(makePinoParams(options))],\n };\n }\n\n static registerAsync(options: typeof ASYNC_OPTIONS_TYPE): DynamicModule {\n const base = super.registerAsync(options);\n\n return {\n ...base,\n imports: [\n ...(base.imports ?? []),\n NestJsPinoLoggerModule.forRootAsync({\n imports: options.imports,\n inject: options.inject,\n useFactory: async (...args: unknown[]) => {\n if (options.useFactory) {\n const config = await options.useFactory(...args);\n\n return makePinoParams(config);\n }\n\n return makePinoParams({} as LoggerConfig);\n },\n }),\n ],\n };\n }\n}\n","import { ConfigurableModuleBuilder } from '@nestjs/common';\nimport { LoggerConfig } from './types';\n\nexport const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN, OPTIONS_TYPE, ASYNC_OPTIONS_TYPE } =\n new ConfigurableModuleBuilder<LoggerConfig>().build();\n","import { type ArgumentsHost, Catch, type ExceptionFilter, HttpException, HttpStatus } from '@nestjs/common';\nimport type { Response } from 'express';\n\n@Catch()\nexport class LoggerExceptionFilter implements ExceptionFilter {\n catch(exception: any, host: ArgumentsHost) {\n const ctx = host.switchToHttp();\n const response = ctx.getResponse<Response>();\n\n if (exception instanceof HttpException) {\n const statusCode = exception.getStatus();\n const errorResponse = exception.getResponse();\n\n return response.status(statusCode).json(errorResponse);\n }\n\n response.status(HttpStatus.INTERNAL_SERVER_ERROR).json({\n message: 'Something went wrong.',\n error: 'Internal Server Error',\n statusCode: HttpStatus.INTERNAL_SERVER_ERROR,\n });\n }\n}\n","import type { IncomingMessage, ServerResponse } from 'http';\nimport type { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport type { Params as NestJsPinoParams } from 'nestjs-pino';\nimport { OPTIONS_TYPE } from './module-definition';\nimport { RequestMethod } from '@nestjs/common';\nimport { HttpMessageBuilder, HttpStatuses } from '@iamnnort/config/http';\n\nfunction toAxiosConfig(req: IncomingMessage): AxiosRequestConfig {\n const expressReq = req as IncomingMessage & { body?: unknown };\n\n return {\n url: req.url,\n method: req.method,\n data: expressReq.body,\n } as AxiosRequestConfig;\n}\n\nfunction toAxiosResponse(req: IncomingMessage, res: ServerResponse): AxiosResponse {\n return {\n status: res.statusCode,\n statusText: res.statusMessage,\n data: undefined,\n headers: {},\n config: toAxiosConfig(req),\n } as AxiosResponse;\n}\n\nfunction toAxiosError(req: IncomingMessage, res: ServerResponse, error: Error): AxiosError {\n return {\n ...error,\n name: error.name,\n message: error.message,\n response: toAxiosResponse(req, res),\n config: toAxiosConfig(req),\n } as AxiosError;\n}\n\nexport function makePinoParams(options: typeof OPTIONS_TYPE): NestJsPinoParams {\n return {\n pinoHttp: {\n name: 'Http',\n level: options.level,\n timestamp: false,\n transport: {\n target: 'pino-pretty',\n options: {\n colorize: false,\n ignore: 'pid,hostname,req,res,responseTime,reqId',\n },\n },\n customSuccessMessage: (req, res, duration) => {\n const response = toAxiosResponse(req, res);\n\n const messageBuilder = new HttpMessageBuilder({\n response,\n duration,\n });\n\n const message = messageBuilder.makeMethodText().makeUrlText().makeStatusText().makeDurationText().build();\n\n return message;\n },\n customSuccessObject: (req, res) => {\n const response = toAxiosResponse(req, res);\n\n const messageBuilder = new HttpMessageBuilder({\n response,\n });\n\n const data = {};\n\n const requestData = messageBuilder.makeRequestDataObj();\n\n if (Object.keys(requestData).length > 0) {\n data['request'] = requestData;\n }\n\n return data;\n },\n customErrorMessage: (req, res, error) => {\n const axiosError = toAxiosError(req, res, error);\n\n const messageBuilder = new HttpMessageBuilder({\n error: axiosError,\n });\n\n const message = messageBuilder.makeMethodText().makeUrlText().makeStatusText().build();\n\n return message;\n },\n customLogLevel: (_, res, error) => {\n if (error || res.statusCode >= HttpStatuses.INTERNAL_SERVER_ERROR) {\n return 'error';\n }\n\n if (res.statusCode >= HttpStatuses.BAD_REQUEST) {\n return 'warn';\n }\n\n return 'info';\n },\n customAttributeKeys: {\n err: 'error',\n },\n },\n forRoutes: [\n {\n path: '*',\n method: RequestMethod.ALL,\n },\n ],\n };\n}\n","import { ConsoleLogger, Inject, Injectable, Scope } from '@nestjs/common';\nimport { PinoLogger } from 'nestjs-pino';\nimport { LoggerContexts } from './types';\n\n@Injectable({\n scope: Scope.TRANSIENT,\n})\nexport class LoggerService extends ConsoleLogger {\n @Inject(PinoLogger)\n private readonly pinoLogger: PinoLogger;\n\n private print(level: string, message: any, context?: string) {\n const ctx = context?.replace(/^_/, '') || this.context || '';\n\n const ctxBlacklist: string[] = [\n LoggerContexts.INSTANCE_LOADER,\n LoggerContexts.ROUTES_RESOLVER,\n LoggerContexts.ROUTER_EXPLORER,\n ];\n\n if (ctxBlacklist.includes(ctx)) {\n return;\n }\n\n const ctxMessageMap: Record<string, string> = {\n [LoggerContexts.NEST_FACTORY]: 'Application is starting...',\n [LoggerContexts.NEST_APPLICATION]: 'Application started.',\n };\n\n const msg = ctxMessageMap[ctx] || message || '';\n\n const logger = ctx ? this.pinoLogger.logger.child({ name: ctx }) : this.pinoLogger.logger;\n\n logger[level](msg);\n }\n\n log(message: any, context?: string) {\n this.print('info', message, context);\n }\n\n error(message: any, context?: string) {\n this.print('error', message, context);\n }\n\n warn(message: any, context?: string) {\n this.print('warn', message, context);\n }\n\n debug(message: any, context?: string) {\n this.print('debug', message, context);\n }\n\n verbose(message: any, context?: string) {\n this.print('trace', message, context);\n }\n\n fatal(message: any, context?: string) {\n this.print('fatal', message, context);\n }\n}\n","export type LoggerConfig = {\n level: LoggerLevels;\n};\n\nexport enum LoggerLevels {\n FATAL = 'fatal',\n ERROR = 'error',\n WARN = 'warn',\n INFO = 'info',\n DEBUG = 'debug',\n TRACE = 'trace',\n}\n\nexport enum LoggerContexts {\n SYSTEM = 'System',\n INSTANCE_LOADER = 'InstanceLoader',\n ROUTES_RESOLVER = 'RoutesResolver',\n ROUTER_EXPLORER = 'RouterExplorer',\n NEST_FACTORY = 'NestFactory',\n NEST_APPLICATION = 'NestApplication',\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/nestjs-logger/nestjs-logger/dist/index.js","../src/module.ts","../src/module-definition.ts","../src/exception-filter.ts","../src/builder.ts","../src/service.ts","../src/types.ts"],"names":["ConfigurableModuleClass","MODULE_OPTIONS_TOKEN","OPTIONS_TYPE","ASYNC_OPTIONS_TYPE","ConfigurableModuleBuilder","build","LoggerExceptionFilter","catch","exception","host","response","switchToHttp","getResponse","HttpException","statusCode","getStatus","errorResponse","status","json","HttpStatus","INTERNAL_SERVER_ERROR","message","error","toAxiosConfig","req","expressReq","url","method","data","body","toAxiosResponse","res","statusText","statusMessage","undefined","headers","config","toAxiosError","name","makePinoParams","options","formatter","HttpMessageFormatter","pinoHttp","level","timestamp","customSuccessMessage","__name","duration","HttpMessageBuilder","makeMethodText","makeUrlText","makeStatusText","makeDurationText","customSuccessObject","messageBuilder","requestData","makeRequestDataObj","Object","keys","length","customErrorMessage","axiosError","customLogLevel","_req","HttpStatuses","BAD_REQUEST","customAttributeKeys","err","makeLogStream","forRoutes","path","RequestMethod","ALL","LoggerLevels","LoggerContexts","LoggerService","ConsoleLogger","pinoLogger","print","context","ctx","replace","INSTANCE_LOADER","ROUTES_RESOLVER","ROUTER_EXPLORER","includes","msg","NEST_FACTORY","NEST_APPLICATION","logger","child","log","warn","debug","verbose","fatal","scope","Scope","TRANSIENT","LoggerModule","register","base","imports","NestJsPinoLoggerModule","forRoot","registerAsync","forRootAsync","inject","useFactory","args","providers","provide","APP_INTERCEPTOR","useClass","LoggerErrorInterceptor","APP_FILTER","exports"],"mappings":"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","file":"/home/runner/work/nestjs-logger/nestjs-logger/dist/index.js","sourcesContent":[null,"import { DynamicModule, Global, Module } from '@nestjs/common';\nimport { APP_FILTER, APP_INTERCEPTOR } from '@nestjs/core';\nimport { LoggerErrorInterceptor, LoggerModule as NestJsPinoLoggerModule } from 'nestjs-pino';\nimport { ASYNC_OPTIONS_TYPE, ConfigurableModuleClass, OPTIONS_TYPE } from './module-definition';\nimport { LoggerExceptionFilter } from './exception-filter';\nimport { makePinoParams } from './builder';\nimport { LoggerService } from './service';\nimport type { LoggerConfig } from './types';\n\n@Global()\n@Module({\n providers: [\n LoggerService,\n {\n provide: APP_INTERCEPTOR,\n useClass: LoggerErrorInterceptor,\n },\n {\n provide: APP_FILTER,\n useClass: LoggerExceptionFilter,\n },\n ],\n exports: [LoggerService],\n})\nexport class LoggerModule extends ConfigurableModuleClass {\n static register(options: typeof OPTIONS_TYPE): DynamicModule {\n const base = super.register(options);\n\n return {\n ...base,\n imports: [...(base.imports ?? []), NestJsPinoLoggerModule.forRoot(makePinoParams(options))],\n };\n }\n\n static registerAsync(options: typeof ASYNC_OPTIONS_TYPE): DynamicModule {\n const base = super.registerAsync(options);\n\n return {\n ...base,\n imports: [\n ...(base.imports ?? []),\n NestJsPinoLoggerModule.forRootAsync({\n imports: options.imports,\n inject: options.inject,\n useFactory: async (...args: unknown[]) => {\n if (options.useFactory) {\n const config = await options.useFactory(...args);\n\n return makePinoParams(config);\n }\n\n return makePinoParams({} as LoggerConfig);\n },\n }),\n ],\n };\n }\n}\n","import { ConfigurableModuleBuilder } from '@nestjs/common';\nimport { LoggerConfig } from './types';\n\nexport const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN, OPTIONS_TYPE, ASYNC_OPTIONS_TYPE } =\n new ConfigurableModuleBuilder<LoggerConfig>().build();\n","import { type ArgumentsHost, Catch, type ExceptionFilter, HttpException, HttpStatus } from '@nestjs/common';\nimport type { Response } from 'express';\n\n@Catch()\nexport class LoggerExceptionFilter implements ExceptionFilter {\n catch(exception: any, host: ArgumentsHost) {\n const ctx = host.switchToHttp();\n const response = ctx.getResponse<Response>();\n\n if (exception instanceof HttpException) {\n const statusCode = exception.getStatus();\n const errorResponse = exception.getResponse();\n\n return response.status(statusCode).json(errorResponse);\n }\n\n response.status(HttpStatus.INTERNAL_SERVER_ERROR).json({\n message: 'Something went wrong.',\n error: 'Internal Server Error',\n statusCode: HttpStatus.INTERNAL_SERVER_ERROR,\n });\n }\n}\n","import type { IncomingMessage, ServerResponse } from 'http';\nimport type { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport type { Params as NestJsPinoParams } from 'nestjs-pino';\nimport { OPTIONS_TYPE } from './module-definition';\nimport { RequestMethod } from '@nestjs/common';\nimport { HttpMessageBuilder, HttpStatuses } from '@iamnnort/config/http';\nimport { HttpMessageFormatter } from '@iamnnort/config/http';\n\nfunction toAxiosConfig(req: IncomingMessage): AxiosRequestConfig {\n const expressReq = req as IncomingMessage & { body?: unknown };\n\n return {\n url: req.url,\n method: req.method,\n data: expressReq.body,\n } as AxiosRequestConfig;\n}\n\nfunction toAxiosResponse(req: IncomingMessage, res: ServerResponse): AxiosResponse {\n return {\n status: res.statusCode,\n statusText: res.statusMessage,\n data: undefined,\n headers: {},\n config: toAxiosConfig(req),\n } as AxiosResponse;\n}\n\nfunction toAxiosError(req: IncomingMessage, res: ServerResponse, error: Error): AxiosError {\n return {\n ...error,\n name: error.name,\n message: error.message,\n response: toAxiosResponse(req, res),\n config: toAxiosConfig(req),\n } as AxiosError;\n}\n\nexport function makePinoParams(options: typeof OPTIONS_TYPE): NestJsPinoParams {\n const formatter = new HttpMessageFormatter();\n\n return {\n pinoHttp: [\n {\n name: 'Http',\n level: options.level,\n timestamp: false,\n customSuccessMessage: (req, res, duration) => {\n const response = toAxiosResponse(req, res);\n\n const messageBuilder = new HttpMessageBuilder({\n response,\n duration,\n });\n\n return messageBuilder.makeMethodText().makeUrlText().makeStatusText().makeDurationText().build();\n },\n customSuccessObject: (req, res) => {\n const response = toAxiosResponse(req, res);\n\n const messageBuilder = new HttpMessageBuilder({\n response,\n });\n\n const data = {};\n\n const requestData = messageBuilder.makeRequestDataObj();\n\n if (Object.keys(requestData).length > 0) {\n data['request'] = requestData;\n }\n\n return data;\n },\n customErrorMessage: (req, res, error) => {\n const axiosError = toAxiosError(req, res, error);\n\n const messageBuilder = new HttpMessageBuilder({\n error: axiosError,\n });\n\n return messageBuilder.makeMethodText().makeUrlText().makeStatusText().build();\n },\n customLogLevel: (_req, res, error) => {\n if (error || res.statusCode >= HttpStatuses.INTERNAL_SERVER_ERROR) {\n return 'error';\n }\n\n if (res.statusCode >= HttpStatuses.BAD_REQUEST) {\n return 'warn';\n }\n\n return 'info';\n },\n customAttributeKeys: {\n err: 'error',\n },\n },\n formatter.makeLogStream(),\n ],\n forRoutes: [\n {\n path: '*',\n method: RequestMethod.ALL,\n },\n ],\n };\n}\n","import { ConsoleLogger, Inject, Injectable, Scope } from '@nestjs/common';\nimport { PinoLogger } from 'nestjs-pino';\nimport { LoggerContexts } from './types';\n\n@Injectable({\n scope: Scope.TRANSIENT,\n})\nexport class LoggerService extends ConsoleLogger {\n @Inject(PinoLogger)\n private readonly pinoLogger: PinoLogger;\n\n private print(level: string, message: any, context?: string) {\n const ctx = context?.replace(/^_/, '') || this.context || '';\n\n const ctxBlacklist: string[] = [\n LoggerContexts.INSTANCE_LOADER,\n LoggerContexts.ROUTES_RESOLVER,\n LoggerContexts.ROUTER_EXPLORER,\n ];\n\n if (ctxBlacklist.includes(ctx)) {\n return;\n }\n\n const ctxMessageMap: Record<string, string> = {\n [LoggerContexts.NEST_FACTORY]: 'Application is starting...',\n [LoggerContexts.NEST_APPLICATION]: 'Application started.',\n };\n\n const msg = ctxMessageMap[ctx] || message || '';\n\n const logger = ctx ? this.pinoLogger.logger.child({ name: ctx }) : this.pinoLogger.logger;\n\n logger[level](msg);\n }\n\n log(message: any, context?: string) {\n this.print('info', message, context);\n }\n\n error(message: any, context?: string) {\n this.print('error', message, context);\n }\n\n warn(message: any, context?: string) {\n this.print('warn', message, context);\n }\n\n debug(message: any, context?: string) {\n this.print('debug', message, context);\n }\n\n verbose(message: any, context?: string) {\n this.print('trace', message, context);\n }\n\n fatal(message: any, context?: string) {\n this.print('fatal', message, context);\n }\n}\n","export type LoggerConfig = {\n level: LoggerLevels;\n};\n\nexport enum LoggerLevels {\n FATAL = 'fatal',\n ERROR = 'error',\n WARN = 'warn',\n INFO = 'info',\n DEBUG = 'debug',\n TRACE = 'trace',\n}\n\nexport enum LoggerContexts {\n SYSTEM = 'System',\n INSTANCE_LOADER = 'InstanceLoader',\n ROUTES_RESOLVER = 'RoutesResolver',\n ROUTER_EXPLORER = 'RouterExplorer',\n NEST_FACTORY = 'NestFactory',\n NEST_APPLICATION = 'NestApplication',\n}\n"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var b=Object.defineProperty;var i=(r,e)=>b(r,"name",{value:e,configurable:!0});import{Global as B,Module as D}from"@nestjs/common";import{APP_FILTER as F}from"@nestjs/core";import{LoggerModule as A}from"nestjs-pino";import{ConfigurableModuleBuilder as h}from"@nestjs/common";var{ConfigurableModuleClass:E,MODULE_OPTIONS_TOKEN:V,OPTIONS_TYPE:q,ASYNC_OPTIONS_TYPE:G}=new h().build();import{Catch as N,HttpException as P,HttpStatus as O}from"@nestjs/common";function x(r,e,t,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,e,t,n);else for(var c=r.length-1;c>=0;c--)(a=r[c])&&(o=(s<3?a(o):s>3?a(e,t,o):a(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o}i(x,"_ts_decorate");var p=class{static{i(this,"LoggerExceptionFilter")}catch(e,t){let s=t.switchToHttp().getResponse();if(e instanceof P){let o=e.getStatus(),a=e.getResponse();return s.status(o).json(a)}s.status(O.INTERNAL_SERVER_ERROR).json({message:"Something went wrong.",error:"Internal Server Error",statusCode:O.INTERNAL_SERVER_ERROR})}};p=x([N()],p);import{RequestMethod as j}from"@nestjs/common";import{HttpMessageBuilder as R,HttpStatuses as T}from"@iamnnort/config/http";function S(r){let e=r;return{url:r.url,method:r.method,data:e.body}}i(S,"toAxiosConfig");function d(r,e){return{status:e.statusCode,statusText:e.statusMessage,data:void 0,headers:{},config:S(r)}}i(d,"toAxiosResponse");function I(r,e,t){return{...t,name:t.name,message:t.message,response:d(r,e),config:S(r)}}i(I,"toAxiosError");function l(r){return{pinoHttp:{name:"Http",level:r.level,timestamp:!1,transport:{target:"pino-pretty",options:{colorize:!1,ignore:"pid,hostname,req,res,responseTime,reqId"}},customSuccessMessage:i((e,t,n)=>{let s=d(e,t);return new R({response:s,duration:n}).makeMethodText().makeUrlText().makeStatusText().makeDurationText().build()},"customSuccessMessage"),customSuccessObject:i((e,t)=>{let n=d(e,t),s=new R({response:n}),o={},a=s.makeRequestDataObj();return Object.keys(a).length>0&&(o.request=a),o},"customSuccessObject"),customErrorMessage:i((e,t,n)=>{let s=I(e,t,n);return new R({error:s}).makeMethodText().makeUrlText().makeStatusText().build()},"customErrorMessage"),customLogLevel:i((e,t,n)=>n||t.statusCode>=T.INTERNAL_SERVER_ERROR?"error":t.statusCode>=T.BAD_REQUEST?"warn":"info","customLogLevel"),customAttributeKeys:{err:"error"}},forRoutes:[{path:"*",method:j.ALL}]}}i(l,"makePinoParams");import{ConsoleLogger as y,Inject as C,Injectable as w,Scope as L}from"@nestjs/common";import{PinoLogger as g}from"nestjs-pino";var $=(function(r){return r.FATAL="fatal",r.ERROR="error",r.WARN="warn",r.INFO="info",r.DEBUG="debug",r.TRACE="trace",r})({}),f=(function(r){return r.SYSTEM="System",r.INSTANCE_LOADER="InstanceLoader",r.ROUTES_RESOLVER="RoutesResolver",r.ROUTER_EXPLORER="RouterExplorer",r.NEST_FACTORY="NestFactory",r.NEST_APPLICATION="NestApplication",r})({});function _(r,e,t,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,e,t,n);else for(var c=r.length-1;c>=0;c--)(a=r[c])&&(o=(s<3?a(o):s>3?a(e,t,o):a(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o}i(_,"_ts_decorate");function M(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}i(M,"_ts_metadata");var u=class extends y{static{i(this,"LoggerService")}pinoLogger;print(e,t,n){let s=n?.replace(/^_/,"")||this.context||"";if([f.INSTANCE_LOADER,f.ROUTES_RESOLVER,f.ROUTER_EXPLORER].includes(s))return;let c={[f.NEST_FACTORY]:"Application is starting...",[f.NEST_APPLICATION]:"Application started."}[s]||t||"";(s?this.pinoLogger.logger.child({name:s}):this.pinoLogger.logger)[e](c)}log(e,t){this.print("info",e,t)}error(e,t){this.print("error",e,t)}warn(e,t){this.print("warn",e,t)}debug(e,t){this.print("debug",e,t)}verbose(e,t){this.print("trace",e,t)}fatal(e,t){this.print("fatal",e,t)}};_([C(g),M("design:type",typeof g>"u"?Object:g)],u.prototype,"pinoLogger",void 0);u=_([w({scope:L.TRANSIENT})],u);function v(r,e,t,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,e,t,n);else for(var c=r.length-1;c>=0;c--)(a=r[c])&&(o=(s<3?a(o):s>3?a(e,t,o):a(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o}i(v,"_ts_decorate");var m=class extends E{static{i(this,"LoggerModule")}static register(e){let t=super.register(e);return{...t,imports:[...t.imports??[],A.forRoot(l(e))]}}static registerAsync(e){let t=super.registerAsync(e);return{...t,imports:[...t.imports??[],A.forRootAsync({imports:e.imports,inject:e.inject,useFactory:i(async(...n)=>{if(e.useFactory){let s=await e.useFactory(...n);return l(s)}return l({})},"useFactory")})]}}};m=v([B(),D({providers:[u,{provide:F,useClass:p}],exports:[u]})],m);export{f as LoggerContexts,$ as LoggerLevels,m as LoggerModule,u as LoggerService};
1
+ var b=Object.defineProperty;var i=(r,e)=>b(r,"name",{value:e,configurable:!0});import{Global as D,Module as F}from"@nestjs/common";import{APP_FILTER as U,APP_INTERCEPTOR as H}from"@nestjs/core";import{LoggerErrorInterceptor as Y,LoggerModule as A}from"nestjs-pino";import{ConfigurableModuleBuilder as x}from"@nestjs/common";var{ConfigurableModuleClass:g,MODULE_OPTIONS_TOKEN:G,OPTIONS_TYPE:K,ASYNC_OPTIONS_TYPE:X}=new x().build();import{Catch as N,HttpException as P,HttpStatus as O}from"@nestjs/common";function h(r,e,t,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,e,t,n);else for(var c=r.length-1;c>=0;c--)(a=r[c])&&(o=(s<3?a(o):s>3?a(e,t,o):a(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o}i(h,"_ts_decorate");var p=class{static{i(this,"LoggerExceptionFilter")}catch(e,t){let s=t.switchToHttp().getResponse();if(e instanceof P){let o=e.getStatus(),a=e.getResponse();return s.status(o).json(a)}s.status(O.INTERNAL_SERVER_ERROR).json({message:"Something went wrong.",error:"Internal Server Error",statusCode:O.INTERNAL_SERVER_ERROR})}};p=h([N()],p);import{RequestMethod as I}from"@nestjs/common";import{HttpMessageBuilder as R,HttpStatuses as T}from"@iamnnort/config/http";import{HttpMessageFormatter as j}from"@iamnnort/config/http";function S(r){let e=r;return{url:r.url,method:r.method,data:e.body}}i(S,"toAxiosConfig");function d(r,e){return{status:e.statusCode,statusText:e.statusMessage,data:void 0,headers:{},config:S(r)}}i(d,"toAxiosResponse");function C(r,e,t){return{...t,name:t.name,message:t.message,response:d(r,e),config:S(r)}}i(C,"toAxiosError");function l(r){let e=new j;return{pinoHttp:[{name:"Http",level:r.level,timestamp:!1,customSuccessMessage:i((t,n,s)=>{let o=d(t,n);return new R({response:o,duration:s}).makeMethodText().makeUrlText().makeStatusText().makeDurationText().build()},"customSuccessMessage"),customSuccessObject:i((t,n)=>{let s=d(t,n),o=new R({response:s}),a={},c=o.makeRequestDataObj();return Object.keys(c).length>0&&(a.request=c),a},"customSuccessObject"),customErrorMessage:i((t,n,s)=>{let o=C(t,n,s);return new R({error:o}).makeMethodText().makeUrlText().makeStatusText().build()},"customErrorMessage"),customLogLevel:i((t,n,s)=>s||n.statusCode>=T.INTERNAL_SERVER_ERROR?"error":n.statusCode>=T.BAD_REQUEST?"warn":"info","customLogLevel"),customAttributeKeys:{err:"error"}},e.makeLogStream()],forRoutes:[{path:"*",method:I.ALL}]}}i(l,"makePinoParams");import{ConsoleLogger as y,Inject as w,Injectable as L,Scope as v}from"@nestjs/common";import{PinoLogger as E}from"nestjs-pino";var oe=(function(r){return r.FATAL="fatal",r.ERROR="error",r.WARN="warn",r.INFO="info",r.DEBUG="debug",r.TRACE="trace",r})({}),f=(function(r){return r.SYSTEM="System",r.INSTANCE_LOADER="InstanceLoader",r.ROUTES_RESOLVER="RoutesResolver",r.ROUTER_EXPLORER="RouterExplorer",r.NEST_FACTORY="NestFactory",r.NEST_APPLICATION="NestApplication",r})({});function _(r,e,t,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,e,t,n);else for(var c=r.length-1;c>=0;c--)(a=r[c])&&(o=(s<3?a(o):s>3?a(e,t,o):a(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o}i(_,"_ts_decorate");function M(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}i(M,"_ts_metadata");var u=class extends y{static{i(this,"LoggerService")}pinoLogger;print(e,t,n){let s=n?.replace(/^_/,"")||this.context||"";if([f.INSTANCE_LOADER,f.ROUTES_RESOLVER,f.ROUTER_EXPLORER].includes(s))return;let c={[f.NEST_FACTORY]:"Application is starting...",[f.NEST_APPLICATION]:"Application started."}[s]||t||"";(s?this.pinoLogger.logger.child({name:s}):this.pinoLogger.logger)[e](c)}log(e,t){this.print("info",e,t)}error(e,t){this.print("error",e,t)}warn(e,t){this.print("warn",e,t)}debug(e,t){this.print("debug",e,t)}verbose(e,t){this.print("trace",e,t)}fatal(e,t){this.print("fatal",e,t)}};_([w(E),M("design:type",typeof E>"u"?Object:E)],u.prototype,"pinoLogger",void 0);u=_([L({scope:v.TRANSIENT})],u);function B(r,e,t,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,t):n,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(r,e,t,n);else for(var c=r.length-1;c>=0;c--)(a=r[c])&&(o=(s<3?a(o):s>3?a(e,t,o):a(e,t))||o);return s>3&&o&&Object.defineProperty(e,t,o),o}i(B,"_ts_decorate");var m=class extends g{static{i(this,"LoggerModule")}static register(e){let t=super.register(e);return{...t,imports:[...t.imports??[],A.forRoot(l(e))]}}static registerAsync(e){let t=super.registerAsync(e);return{...t,imports:[...t.imports??[],A.forRootAsync({imports:e.imports,inject:e.inject,useFactory:i(async(...n)=>{if(e.useFactory){let s=await e.useFactory(...n);return l(s)}return l({})},"useFactory")})]}}};m=B([D(),F({providers:[u,{provide:H,useClass:Y},{provide:U,useClass:p}],exports:[u]})],m);export{f as LoggerContexts,oe as LoggerLevels,m as LoggerModule,u as LoggerService};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/module.ts","../src/module-definition.ts","../src/exception-filter.ts","../src/builder.ts","../src/service.ts","../src/types.ts"],"sourcesContent":["import { DynamicModule, Global, Module } from '@nestjs/common';\nimport { APP_FILTER } from '@nestjs/core';\nimport { LoggerModule as NestJsPinoLoggerModule } from 'nestjs-pino';\nimport { ASYNC_OPTIONS_TYPE, ConfigurableModuleClass, OPTIONS_TYPE } from './module-definition';\nimport { LoggerExceptionFilter } from './exception-filter';\nimport { makePinoParams } from './builder';\nimport { LoggerService } from './service';\nimport type { LoggerConfig } from './types';\n\n@Global()\n@Module({\n providers: [LoggerService, { provide: APP_FILTER, useClass: LoggerExceptionFilter }],\n exports: [LoggerService],\n})\nexport class LoggerModule extends ConfigurableModuleClass {\n static register(options: typeof OPTIONS_TYPE): DynamicModule {\n const base = super.register(options);\n\n return {\n ...base,\n imports: [...(base.imports ?? []), NestJsPinoLoggerModule.forRoot(makePinoParams(options))],\n };\n }\n\n static registerAsync(options: typeof ASYNC_OPTIONS_TYPE): DynamicModule {\n const base = super.registerAsync(options);\n\n return {\n ...base,\n imports: [\n ...(base.imports ?? []),\n NestJsPinoLoggerModule.forRootAsync({\n imports: options.imports,\n inject: options.inject,\n useFactory: async (...args: unknown[]) => {\n if (options.useFactory) {\n const config = await options.useFactory(...args);\n\n return makePinoParams(config);\n }\n\n return makePinoParams({} as LoggerConfig);\n },\n }),\n ],\n };\n }\n}\n","import { ConfigurableModuleBuilder } from '@nestjs/common';\nimport { LoggerConfig } from './types';\n\nexport const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN, OPTIONS_TYPE, ASYNC_OPTIONS_TYPE } =\n new ConfigurableModuleBuilder<LoggerConfig>().build();\n","import { type ArgumentsHost, Catch, type ExceptionFilter, HttpException, HttpStatus } from '@nestjs/common';\nimport type { Response } from 'express';\n\n@Catch()\nexport class LoggerExceptionFilter implements ExceptionFilter {\n catch(exception: any, host: ArgumentsHost) {\n const ctx = host.switchToHttp();\n const response = ctx.getResponse<Response>();\n\n if (exception instanceof HttpException) {\n const statusCode = exception.getStatus();\n const errorResponse = exception.getResponse();\n\n return response.status(statusCode).json(errorResponse);\n }\n\n response.status(HttpStatus.INTERNAL_SERVER_ERROR).json({\n message: 'Something went wrong.',\n error: 'Internal Server Error',\n statusCode: HttpStatus.INTERNAL_SERVER_ERROR,\n });\n }\n}\n","import type { IncomingMessage, ServerResponse } from 'http';\nimport type { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport type { Params as NestJsPinoParams } from 'nestjs-pino';\nimport { OPTIONS_TYPE } from './module-definition';\nimport { RequestMethod } from '@nestjs/common';\nimport { HttpMessageBuilder, HttpStatuses } from '@iamnnort/config/http';\n\nfunction toAxiosConfig(req: IncomingMessage): AxiosRequestConfig {\n const expressReq = req as IncomingMessage & { body?: unknown };\n\n return {\n url: req.url,\n method: req.method,\n data: expressReq.body,\n } as AxiosRequestConfig;\n}\n\nfunction toAxiosResponse(req: IncomingMessage, res: ServerResponse): AxiosResponse {\n return {\n status: res.statusCode,\n statusText: res.statusMessage,\n data: undefined,\n headers: {},\n config: toAxiosConfig(req),\n } as AxiosResponse;\n}\n\nfunction toAxiosError(req: IncomingMessage, res: ServerResponse, error: Error): AxiosError {\n return {\n ...error,\n name: error.name,\n message: error.message,\n response: toAxiosResponse(req, res),\n config: toAxiosConfig(req),\n } as AxiosError;\n}\n\nexport function makePinoParams(options: typeof OPTIONS_TYPE): NestJsPinoParams {\n return {\n pinoHttp: {\n name: 'Http',\n level: options.level,\n timestamp: false,\n transport: {\n target: 'pino-pretty',\n options: {\n colorize: false,\n ignore: 'pid,hostname,req,res,responseTime,reqId',\n },\n },\n customSuccessMessage: (req, res, duration) => {\n const response = toAxiosResponse(req, res);\n\n const messageBuilder = new HttpMessageBuilder({\n response,\n duration,\n });\n\n const message = messageBuilder.makeMethodText().makeUrlText().makeStatusText().makeDurationText().build();\n\n return message;\n },\n customSuccessObject: (req, res) => {\n const response = toAxiosResponse(req, res);\n\n const messageBuilder = new HttpMessageBuilder({\n response,\n });\n\n const data = {};\n\n const requestData = messageBuilder.makeRequestDataObj();\n\n if (Object.keys(requestData).length > 0) {\n data['request'] = requestData;\n }\n\n return data;\n },\n customErrorMessage: (req, res, error) => {\n const axiosError = toAxiosError(req, res, error);\n\n const messageBuilder = new HttpMessageBuilder({\n error: axiosError,\n });\n\n const message = messageBuilder.makeMethodText().makeUrlText().makeStatusText().build();\n\n return message;\n },\n customLogLevel: (_, res, error) => {\n if (error || res.statusCode >= HttpStatuses.INTERNAL_SERVER_ERROR) {\n return 'error';\n }\n\n if (res.statusCode >= HttpStatuses.BAD_REQUEST) {\n return 'warn';\n }\n\n return 'info';\n },\n customAttributeKeys: {\n err: 'error',\n },\n },\n forRoutes: [\n {\n path: '*',\n method: RequestMethod.ALL,\n },\n ],\n };\n}\n","import { ConsoleLogger, Inject, Injectable, Scope } from '@nestjs/common';\nimport { PinoLogger } from 'nestjs-pino';\nimport { LoggerContexts } from './types';\n\n@Injectable({\n scope: Scope.TRANSIENT,\n})\nexport class LoggerService extends ConsoleLogger {\n @Inject(PinoLogger)\n private readonly pinoLogger: PinoLogger;\n\n private print(level: string, message: any, context?: string) {\n const ctx = context?.replace(/^_/, '') || this.context || '';\n\n const ctxBlacklist: string[] = [\n LoggerContexts.INSTANCE_LOADER,\n LoggerContexts.ROUTES_RESOLVER,\n LoggerContexts.ROUTER_EXPLORER,\n ];\n\n if (ctxBlacklist.includes(ctx)) {\n return;\n }\n\n const ctxMessageMap: Record<string, string> = {\n [LoggerContexts.NEST_FACTORY]: 'Application is starting...',\n [LoggerContexts.NEST_APPLICATION]: 'Application started.',\n };\n\n const msg = ctxMessageMap[ctx] || message || '';\n\n const logger = ctx ? this.pinoLogger.logger.child({ name: ctx }) : this.pinoLogger.logger;\n\n logger[level](msg);\n }\n\n log(message: any, context?: string) {\n this.print('info', message, context);\n }\n\n error(message: any, context?: string) {\n this.print('error', message, context);\n }\n\n warn(message: any, context?: string) {\n this.print('warn', message, context);\n }\n\n debug(message: any, context?: string) {\n this.print('debug', message, context);\n }\n\n verbose(message: any, context?: string) {\n this.print('trace', message, context);\n }\n\n fatal(message: any, context?: string) {\n this.print('fatal', message, context);\n }\n}\n","export type LoggerConfig = {\n level: LoggerLevels;\n};\n\nexport enum LoggerLevels {\n FATAL = 'fatal',\n ERROR = 'error',\n WARN = 'warn',\n INFO = 'info',\n DEBUG = 'debug',\n TRACE = 'trace',\n}\n\nexport enum LoggerContexts {\n SYSTEM = 'System',\n INSTANCE_LOADER = 'InstanceLoader',\n ROUTES_RESOLVER = 'RoutesResolver',\n ROUTER_EXPLORER = 'RouterExplorer',\n NEST_FACTORY = 'NestFactory',\n NEST_APPLICATION = 'NestApplication',\n}\n"],"mappings":"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","names":["Global","Module","APP_FILTER","LoggerModule","NestJsPinoLoggerModule","ConfigurableModuleBuilder","ConfigurableModuleClass","MODULE_OPTIONS_TOKEN","OPTIONS_TYPE","ASYNC_OPTIONS_TYPE","build","Catch","HttpException","HttpStatus","LoggerExceptionFilter","catch","exception","host","response","switchToHttp","getResponse","HttpException","statusCode","getStatus","errorResponse","status","json","HttpStatus","INTERNAL_SERVER_ERROR","message","error","RequestMethod","HttpMessageBuilder","HttpStatuses","toAxiosConfig","req","expressReq","url","method","data","body","toAxiosResponse","res","status","statusCode","statusText","statusMessage","undefined","headers","config","toAxiosError","error","name","message","response","makePinoParams","options","pinoHttp","level","timestamp","transport","target","colorize","ignore","customSuccessMessage","__name","duration","HttpMessageBuilder","makeMethodText","makeUrlText","makeStatusText","makeDurationText","build","customSuccessObject","messageBuilder","requestData","makeRequestDataObj","Object","keys","length","customErrorMessage","axiosError","customLogLevel","_","HttpStatuses","INTERNAL_SERVER_ERROR","BAD_REQUEST","customAttributeKeys","err","forRoutes","path","RequestMethod","ALL","ConsoleLogger","Inject","Injectable","Scope","PinoLogger","LoggerLevels","LoggerContexts","LoggerService","ConsoleLogger","pinoLogger","print","level","message","context","ctx","replace","LoggerContexts","INSTANCE_LOADER","ROUTES_RESOLVER","ROUTER_EXPLORER","includes","msg","NEST_FACTORY","NEST_APPLICATION","logger","child","name","log","error","warn","debug","verbose","fatal","scope","Scope","TRANSIENT","LoggerModule","ConfigurableModuleClass","register","options","base","imports","NestJsPinoLoggerModule","forRoot","makePinoParams","registerAsync","forRootAsync","inject","useFactory","__name","args","config","providers","LoggerService","provide","APP_FILTER","useClass","LoggerExceptionFilter","exports"]}
1
+ {"version":3,"sources":["../src/module.ts","../src/module-definition.ts","../src/exception-filter.ts","../src/builder.ts","../src/service.ts","../src/types.ts"],"sourcesContent":["import { DynamicModule, Global, Module } from '@nestjs/common';\nimport { APP_FILTER, APP_INTERCEPTOR } from '@nestjs/core';\nimport { LoggerErrorInterceptor, LoggerModule as NestJsPinoLoggerModule } from 'nestjs-pino';\nimport { ASYNC_OPTIONS_TYPE, ConfigurableModuleClass, OPTIONS_TYPE } from './module-definition';\nimport { LoggerExceptionFilter } from './exception-filter';\nimport { makePinoParams } from './builder';\nimport { LoggerService } from './service';\nimport type { LoggerConfig } from './types';\n\n@Global()\n@Module({\n providers: [\n LoggerService,\n {\n provide: APP_INTERCEPTOR,\n useClass: LoggerErrorInterceptor,\n },\n {\n provide: APP_FILTER,\n useClass: LoggerExceptionFilter,\n },\n ],\n exports: [LoggerService],\n})\nexport class LoggerModule extends ConfigurableModuleClass {\n static register(options: typeof OPTIONS_TYPE): DynamicModule {\n const base = super.register(options);\n\n return {\n ...base,\n imports: [...(base.imports ?? []), NestJsPinoLoggerModule.forRoot(makePinoParams(options))],\n };\n }\n\n static registerAsync(options: typeof ASYNC_OPTIONS_TYPE): DynamicModule {\n const base = super.registerAsync(options);\n\n return {\n ...base,\n imports: [\n ...(base.imports ?? []),\n NestJsPinoLoggerModule.forRootAsync({\n imports: options.imports,\n inject: options.inject,\n useFactory: async (...args: unknown[]) => {\n if (options.useFactory) {\n const config = await options.useFactory(...args);\n\n return makePinoParams(config);\n }\n\n return makePinoParams({} as LoggerConfig);\n },\n }),\n ],\n };\n }\n}\n","import { ConfigurableModuleBuilder } from '@nestjs/common';\nimport { LoggerConfig } from './types';\n\nexport const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN, OPTIONS_TYPE, ASYNC_OPTIONS_TYPE } =\n new ConfigurableModuleBuilder<LoggerConfig>().build();\n","import { type ArgumentsHost, Catch, type ExceptionFilter, HttpException, HttpStatus } from '@nestjs/common';\nimport type { Response } from 'express';\n\n@Catch()\nexport class LoggerExceptionFilter implements ExceptionFilter {\n catch(exception: any, host: ArgumentsHost) {\n const ctx = host.switchToHttp();\n const response = ctx.getResponse<Response>();\n\n if (exception instanceof HttpException) {\n const statusCode = exception.getStatus();\n const errorResponse = exception.getResponse();\n\n return response.status(statusCode).json(errorResponse);\n }\n\n response.status(HttpStatus.INTERNAL_SERVER_ERROR).json({\n message: 'Something went wrong.',\n error: 'Internal Server Error',\n statusCode: HttpStatus.INTERNAL_SERVER_ERROR,\n });\n }\n}\n","import type { IncomingMessage, ServerResponse } from 'http';\nimport type { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport type { Params as NestJsPinoParams } from 'nestjs-pino';\nimport { OPTIONS_TYPE } from './module-definition';\nimport { RequestMethod } from '@nestjs/common';\nimport { HttpMessageBuilder, HttpStatuses } from '@iamnnort/config/http';\nimport { HttpMessageFormatter } from '@iamnnort/config/http';\n\nfunction toAxiosConfig(req: IncomingMessage): AxiosRequestConfig {\n const expressReq = req as IncomingMessage & { body?: unknown };\n\n return {\n url: req.url,\n method: req.method,\n data: expressReq.body,\n } as AxiosRequestConfig;\n}\n\nfunction toAxiosResponse(req: IncomingMessage, res: ServerResponse): AxiosResponse {\n return {\n status: res.statusCode,\n statusText: res.statusMessage,\n data: undefined,\n headers: {},\n config: toAxiosConfig(req),\n } as AxiosResponse;\n}\n\nfunction toAxiosError(req: IncomingMessage, res: ServerResponse, error: Error): AxiosError {\n return {\n ...error,\n name: error.name,\n message: error.message,\n response: toAxiosResponse(req, res),\n config: toAxiosConfig(req),\n } as AxiosError;\n}\n\nexport function makePinoParams(options: typeof OPTIONS_TYPE): NestJsPinoParams {\n const formatter = new HttpMessageFormatter();\n\n return {\n pinoHttp: [\n {\n name: 'Http',\n level: options.level,\n timestamp: false,\n customSuccessMessage: (req, res, duration) => {\n const response = toAxiosResponse(req, res);\n\n const messageBuilder = new HttpMessageBuilder({\n response,\n duration,\n });\n\n return messageBuilder.makeMethodText().makeUrlText().makeStatusText().makeDurationText().build();\n },\n customSuccessObject: (req, res) => {\n const response = toAxiosResponse(req, res);\n\n const messageBuilder = new HttpMessageBuilder({\n response,\n });\n\n const data = {};\n\n const requestData = messageBuilder.makeRequestDataObj();\n\n if (Object.keys(requestData).length > 0) {\n data['request'] = requestData;\n }\n\n return data;\n },\n customErrorMessage: (req, res, error) => {\n const axiosError = toAxiosError(req, res, error);\n\n const messageBuilder = new HttpMessageBuilder({\n error: axiosError,\n });\n\n return messageBuilder.makeMethodText().makeUrlText().makeStatusText().build();\n },\n customLogLevel: (_req, res, error) => {\n if (error || res.statusCode >= HttpStatuses.INTERNAL_SERVER_ERROR) {\n return 'error';\n }\n\n if (res.statusCode >= HttpStatuses.BAD_REQUEST) {\n return 'warn';\n }\n\n return 'info';\n },\n customAttributeKeys: {\n err: 'error',\n },\n },\n formatter.makeLogStream(),\n ],\n forRoutes: [\n {\n path: '*',\n method: RequestMethod.ALL,\n },\n ],\n };\n}\n","import { ConsoleLogger, Inject, Injectable, Scope } from '@nestjs/common';\nimport { PinoLogger } from 'nestjs-pino';\nimport { LoggerContexts } from './types';\n\n@Injectable({\n scope: Scope.TRANSIENT,\n})\nexport class LoggerService extends ConsoleLogger {\n @Inject(PinoLogger)\n private readonly pinoLogger: PinoLogger;\n\n private print(level: string, message: any, context?: string) {\n const ctx = context?.replace(/^_/, '') || this.context || '';\n\n const ctxBlacklist: string[] = [\n LoggerContexts.INSTANCE_LOADER,\n LoggerContexts.ROUTES_RESOLVER,\n LoggerContexts.ROUTER_EXPLORER,\n ];\n\n if (ctxBlacklist.includes(ctx)) {\n return;\n }\n\n const ctxMessageMap: Record<string, string> = {\n [LoggerContexts.NEST_FACTORY]: 'Application is starting...',\n [LoggerContexts.NEST_APPLICATION]: 'Application started.',\n };\n\n const msg = ctxMessageMap[ctx] || message || '';\n\n const logger = ctx ? this.pinoLogger.logger.child({ name: ctx }) : this.pinoLogger.logger;\n\n logger[level](msg);\n }\n\n log(message: any, context?: string) {\n this.print('info', message, context);\n }\n\n error(message: any, context?: string) {\n this.print('error', message, context);\n }\n\n warn(message: any, context?: string) {\n this.print('warn', message, context);\n }\n\n debug(message: any, context?: string) {\n this.print('debug', message, context);\n }\n\n verbose(message: any, context?: string) {\n this.print('trace', message, context);\n }\n\n fatal(message: any, context?: string) {\n this.print('fatal', message, context);\n }\n}\n","export type LoggerConfig = {\n level: LoggerLevels;\n};\n\nexport enum LoggerLevels {\n FATAL = 'fatal',\n ERROR = 'error',\n WARN = 'warn',\n INFO = 'info',\n DEBUG = 'debug',\n TRACE = 'trace',\n}\n\nexport enum LoggerContexts {\n SYSTEM = 'System',\n INSTANCE_LOADER = 'InstanceLoader',\n ROUTES_RESOLVER = 'RoutesResolver',\n ROUTER_EXPLORER = 'RouterExplorer',\n NEST_FACTORY = 'NestFactory',\n NEST_APPLICATION = 'NestApplication',\n}\n"],"mappings":"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","names":["Global","Module","APP_FILTER","APP_INTERCEPTOR","LoggerErrorInterceptor","LoggerModule","NestJsPinoLoggerModule","ConfigurableModuleBuilder","ConfigurableModuleClass","MODULE_OPTIONS_TOKEN","OPTIONS_TYPE","ASYNC_OPTIONS_TYPE","build","Catch","HttpException","HttpStatus","LoggerExceptionFilter","catch","exception","host","response","switchToHttp","getResponse","HttpException","statusCode","getStatus","errorResponse","status","json","HttpStatus","INTERNAL_SERVER_ERROR","message","error","RequestMethod","HttpMessageBuilder","HttpStatuses","HttpMessageFormatter","toAxiosConfig","req","expressReq","url","method","data","body","toAxiosResponse","res","status","statusCode","statusText","statusMessage","undefined","headers","config","toAxiosError","error","name","message","response","makePinoParams","options","formatter","HttpMessageFormatter","pinoHttp","level","timestamp","customSuccessMessage","__name","duration","HttpMessageBuilder","makeMethodText","makeUrlText","makeStatusText","makeDurationText","build","customSuccessObject","messageBuilder","requestData","makeRequestDataObj","Object","keys","length","customErrorMessage","axiosError","customLogLevel","_req","HttpStatuses","INTERNAL_SERVER_ERROR","BAD_REQUEST","customAttributeKeys","err","makeLogStream","forRoutes","path","RequestMethod","ALL","ConsoleLogger","Inject","Injectable","Scope","PinoLogger","LoggerLevels","LoggerContexts","LoggerService","ConsoleLogger","pinoLogger","print","level","message","context","ctx","replace","LoggerContexts","INSTANCE_LOADER","ROUTES_RESOLVER","ROUTER_EXPLORER","includes","msg","NEST_FACTORY","NEST_APPLICATION","logger","child","name","log","error","warn","debug","verbose","fatal","scope","Scope","TRANSIENT","LoggerModule","ConfigurableModuleClass","register","options","base","imports","NestJsPinoLoggerModule","forRoot","makePinoParams","registerAsync","forRootAsync","inject","useFactory","__name","args","config","providers","LoggerService","provide","APP_INTERCEPTOR","useClass","LoggerErrorInterceptor","APP_FILTER","LoggerExceptionFilter","exports"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iamnnort/nestjs-logger",
3
- "version": "2.1.5",
3
+ "version": "2.1.7",
4
4
  "description": "Logger module for NestJS - Simple - Informative - Pretty",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -32,10 +32,9 @@
32
32
  "prepare": "husky"
33
33
  },
34
34
  "dependencies": {
35
- "@iamnnort/config": "^1.1.12",
35
+ "@iamnnort/config": "^1.1.16",
36
36
  "nestjs-pino": "^4.5.0",
37
- "pino-http": "^10.4.0",
38
- "pino-pretty": "^13.1.3"
37
+ "pino-http": "^10.4.0"
39
38
  },
40
39
  "devDependencies": {
41
40
  "@nestjs/common": "^11.1.0",