@iamnnort/nestjs-logger 2.1.7 → 2.1.9

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: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;
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 h=Object.defineProperty;var i=(t,e)=>h(t,"name",{value:e,configurable:!0});var _common = require('@nestjs/common');var _core = require('@nestjs/core');var _nestjspino = require('nestjs-pino');var{ConfigurableModuleClass:_,MODULE_OPTIONS_TOKEN:X,OPTIONS_TYPE:J,ASYNC_OPTIONS_TYPE:Q}=new (0, _common.ConfigurableModuleBuilder)().build();function M(t,e,r,a){var n=arguments.length,o=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,r):a,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(t,e,r,a);else for(var c=t.length-1;c>=0;c--)(s=t[c])&&(o=(n<3?s(o):n>3?s(e,r,o):s(e,r))||o);return n>3&&o&&Object.defineProperty(e,r,o),o}i(M,"_ts_decorate");var f=class{static{i(this,"LoggerExceptionFilter")}catch(e,r){let n=r.switchToHttp().getResponse();if(e instanceof _common.HttpException){let o=e.getStatus(),s=e.getResponse();return n.status(o).json(s)}n.status(_common.HttpStatus.INTERNAL_SERVER_ERROR).json({message:"Something went wrong.",error:"Internal Server Error",statusCode:_common.HttpStatus.INTERNAL_SERVER_ERROR})}};f=M([_common.Catch.call(void 0, )],f);var _http = require('@iamnnort/config/http');function x(t){let e=t;return{url:t.url,method:t.method,data:e.body}}i(x,"toAxiosConfig");function E(t,e){return{status:e.statusCode,statusText:e.statusMessage,data:void 0,headers:{},config:x(t)}}i(E,"toAxiosResponse");function y(t,e,r){return{...r,name:r.name,message:r.message,response:E(t,e),config:x(t)}}i(y,"toAxiosError");function g(t){let e=process.env.NODE_ENV==="production"||!0,r=new _http.HttpMessageFormatter,a={name:"Http",level:t.level,timestamp:e,customReceivedMessage:i(o=>{let s=E(o,{});return new (0, _http.HttpMessageBuilder)({response:s}).makeMethodText().makeUrlText().build()},"customReceivedMessage"),customSuccessMessage:i((o,s,c)=>{let p=E(o,s);return new (0, _http.HttpMessageBuilder)({response:p,duration:c}).makeMethodText().makeUrlText().makeStatusText().makeDurationText().build()},"customSuccessMessage"),customSuccessObject:i((o,s)=>{let c=E(o,s),p=new (0, _http.HttpMessageBuilder)({response:c}),R={},T=p.makeRequestDataObj();return Object.keys(T).length>0&&(R.request=T),R},"customSuccessObject"),customErrorMessage:i((o,s,c)=>{let p=y(o,s,c);return new (0, _http.HttpMessageBuilder)({error:p}).makeMethodText().makeUrlText().makeStatusText().build()},"customErrorMessage"),customLogLevel:i((o,s,c)=>c||s.statusCode>=_http.HttpStatuses.INTERNAL_SERVER_ERROR?"error":s.statusCode>=_http.HttpStatuses.BAD_REQUEST?"warn":"info","customLogLevel"),customAttributeKeys:{err:"error"}};return{pinoHttp:e?[a,i(()=>({write:i(o=>{console.log(o)},"write")}),"formatter22")()]:[a,r.makeLogStream()],forRoutes:[{path:"*",method:_common.RequestMethod.ALL}]}}i(g,"makePinoParams");var ne=(function(t){return t.FATAL="fatal",t.ERROR="error",t.WARN="warn",t.INFO="info",t.DEBUG="debug",t.TRACE="trace",t})({}),m= exports.LoggerContexts =(function(t){return t.SYSTEM="System",t.INSTANCE_LOADER="InstanceLoader",t.ROUTES_RESOLVER="RoutesResolver",t.ROUTER_EXPLORER="RouterExplorer",t.NEST_FACTORY="NestFactory",t.NEST_APPLICATION="NestApplication",t})({});function b(t,e,r,a){var n=arguments.length,o=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,r):a,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(t,e,r,a);else for(var c=t.length-1;c>=0;c--)(s=t[c])&&(o=(n<3?s(o):n>3?s(e,r,o):s(e,r))||o);return n>3&&o&&Object.defineProperty(e,r,o),o}i(b,"_ts_decorate");function v(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}i(v,"_ts_metadata");var u=class extends _common.ConsoleLogger{static{i(this,"LoggerService")}print(e,r,a){let n=_optionalChain([a, 'optionalAccess', _2 => _2.replace, 'call', _3 => _3(/^_/,"")])||this.context||"";if([m.INSTANCE_LOADER,m.ROUTES_RESOLVER,m.ROUTER_EXPLORER].includes(n))return;let c={[m.NEST_FACTORY]:"Application is starting...",[m.NEST_APPLICATION]:"Application started."}[n]||r||"";(n?this.pinoLogger.logger.child({name:n}):this.pinoLogger.logger)[e](c)}log(e,r){this.print("info",e,r)}error(e,r){this.print("error",e,r)}warn(e,r){this.print("warn",e,r)}debug(e,r){this.print("debug",e,r)}verbose(e,r){this.print("trace",e,r)}fatal(e,r){this.print("fatal",e,r)}};b([_common.Inject.call(void 0, _nestjspino.PinoLogger),v("design:type",typeof _nestjspino.PinoLogger>"u"?Object:_nestjspino.PinoLogger)],u.prototype,"pinoLogger",void 0);u= exports.LoggerService =b([_common.Injectable.call(void 0, {scope:_common.Scope.TRANSIENT})],u);function U(t,e,r,a){var n=arguments.length,o=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,r):a,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(t,e,r,a);else for(var c=t.length-1;c>=0;c--)(s=t[c])&&(o=(n<3?s(o):n>3?s(e,r,o):s(e,r))||o);return n>3&&o&&Object.defineProperty(e,r,o),o}i(U,"_ts_decorate");var l=class extends _{static{i(this,"LoggerModule")}static register(e){let r=super.register(e);return{...r,imports:[..._nullishCoalesce(r.imports, () => ([])),_nestjspino.LoggerModule.forRoot(g(e))]}}static registerAsync(e){let r=super.registerAsync(e);return{...r,imports:[..._nullishCoalesce(r.imports, () => ([])),_nestjspino.LoggerModule.forRootAsync({imports:e.imports,inject:e.inject,useFactory:i(async(...a)=>{if(e.useFactory){let n=await e.useFactory(...a);return g(n)}return g({})},"useFactory")})]}}};l= exports.LoggerModule =U([_common.Global.call(void 0, ),_common.Module.call(void 0, {providers:[u,{provide:_core.APP_INTERCEPTOR,useClass:_nestjspino.LoggerErrorInterceptor},{provide:_core.APP_FILTER,useClass:f}],exports:[u]})],l);exports.LoggerContexts = m; exports.LoggerLevels = ne; exports.LoggerModule = l; 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","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"]}
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","isProduction","process","env","NODE_ENV","formatter","HttpMessageFormatter","pinoOptions","level","timestamp","customReceivedMessage","__name","HttpMessageBuilder","makeMethodText","makeUrlText","customSuccessMessage","duration","makeStatusText","makeDurationText","customSuccessObject","messageBuilder","requestData","makeRequestDataObj","Object","keys","length","customErrorMessage","axiosError","customLogLevel","_req","HttpStatuses","BAD_REQUEST","customAttributeKeys","err","pinoHttp","write","msg","console","log","formatter22","makeLogStream","forRoutes","path","RequestMethod","ALL","LoggerLevels","LoggerContexts","LoggerService","ConsoleLogger","pinoLogger","print","context","ctx","replace","INSTANCE_LOADER","ROUTES_RESOLVER","ROUTER_EXPLORER","includes","NEST_FACTORY","NEST_APPLICATION","logger","child","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 isProduction = process.env.NODE_ENV === 'production' || true;\n const formatter = new HttpMessageFormatter();\n\n const pinoOptions = {\n name: 'Http',\n level: options.level,\n timestamp: isProduction,\n customReceivedMessage: (req) => {\n const response = toAxiosResponse(req, {} as ServerResponse);\n\n const messageBuilder = new HttpMessageBuilder({\n response,\n });\n\n return messageBuilder.makeMethodText().makeUrlText().build();\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 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\n const formatter22 = () => {\n return {\n write: (msg: string) => {\n console.log(msg);\n },\n };\n };\n\n return {\n pinoHttp: isProduction ? [pinoOptions, formatter22()] : [pinoOptions, formatter.makeLogStream()],\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 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};
1
+ var h=Object.defineProperty;var i=(t,e)=>h(t,"name",{value:e,configurable:!0});import{Global as H,Module as V}from"@nestjs/common";import{APP_FILTER as Y,APP_INTERCEPTOR as k}from"@nestjs/core";import{LoggerErrorInterceptor as q,LoggerModule as N}from"nestjs-pino";import{ConfigurableModuleBuilder as P}from"@nestjs/common";var{ConfigurableModuleClass:_,MODULE_OPTIONS_TOKEN:X,OPTIONS_TYPE:J,ASYNC_OPTIONS_TYPE:Q}=new P().build();import{Catch as I,HttpException as j,HttpStatus as S}from"@nestjs/common";function M(t,e,r,a){var n=arguments.length,o=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,r):a,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(t,e,r,a);else for(var c=t.length-1;c>=0;c--)(s=t[c])&&(o=(n<3?s(o):n>3?s(e,r,o):s(e,r))||o);return n>3&&o&&Object.defineProperty(e,r,o),o}i(M,"_ts_decorate");var f=class{static{i(this,"LoggerExceptionFilter")}catch(e,r){let n=r.switchToHttp().getResponse();if(e instanceof j){let o=e.getStatus(),s=e.getResponse();return n.status(o).json(s)}n.status(S.INTERNAL_SERVER_ERROR).json({message:"Something went wrong.",error:"Internal Server Error",statusCode:S.INTERNAL_SERVER_ERROR})}};f=M([I()],f);import{RequestMethod as C}from"@nestjs/common";import{HttpMessageBuilder as d,HttpStatuses as A}from"@iamnnort/config/http";import{HttpMessageFormatter as w}from"@iamnnort/config/http";function x(t){let e=t;return{url:t.url,method:t.method,data:e.body}}i(x,"toAxiosConfig");function E(t,e){return{status:e.statusCode,statusText:e.statusMessage,data:void 0,headers:{},config:x(t)}}i(E,"toAxiosResponse");function y(t,e,r){return{...r,name:r.name,message:r.message,response:E(t,e),config:x(t)}}i(y,"toAxiosError");function g(t){let e=process.env.NODE_ENV==="production"||!0,r=new w,a={name:"Http",level:t.level,timestamp:e,customReceivedMessage:i(o=>{let s=E(o,{});return new d({response:s}).makeMethodText().makeUrlText().build()},"customReceivedMessage"),customSuccessMessage:i((o,s,c)=>{let p=E(o,s);return new d({response:p,duration:c}).makeMethodText().makeUrlText().makeStatusText().makeDurationText().build()},"customSuccessMessage"),customSuccessObject:i((o,s)=>{let c=E(o,s),p=new d({response:c}),R={},T=p.makeRequestDataObj();return Object.keys(T).length>0&&(R.request=T),R},"customSuccessObject"),customErrorMessage:i((o,s,c)=>{let p=y(o,s,c);return new d({error:p}).makeMethodText().makeUrlText().makeStatusText().build()},"customErrorMessage"),customLogLevel:i((o,s,c)=>c||s.statusCode>=A.INTERNAL_SERVER_ERROR?"error":s.statusCode>=A.BAD_REQUEST?"warn":"info","customLogLevel"),customAttributeKeys:{err:"error"}};return{pinoHttp:e?[a,i(()=>({write:i(o=>{console.log(o)},"write")}),"formatter22")()]:[a,r.makeLogStream()],forRoutes:[{path:"*",method:C.ALL}]}}i(g,"makePinoParams");import{ConsoleLogger as L,Inject as B,Injectable as D,Scope as F}from"@nestjs/common";import{PinoLogger as O}from"nestjs-pino";var ne=(function(t){return t.FATAL="fatal",t.ERROR="error",t.WARN="warn",t.INFO="info",t.DEBUG="debug",t.TRACE="trace",t})({}),m=(function(t){return t.SYSTEM="System",t.INSTANCE_LOADER="InstanceLoader",t.ROUTES_RESOLVER="RoutesResolver",t.ROUTER_EXPLORER="RouterExplorer",t.NEST_FACTORY="NestFactory",t.NEST_APPLICATION="NestApplication",t})({});function b(t,e,r,a){var n=arguments.length,o=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,r):a,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(t,e,r,a);else for(var c=t.length-1;c>=0;c--)(s=t[c])&&(o=(n<3?s(o):n>3?s(e,r,o):s(e,r))||o);return n>3&&o&&Object.defineProperty(e,r,o),o}i(b,"_ts_decorate");function v(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}i(v,"_ts_metadata");var u=class extends L{static{i(this,"LoggerService")}pinoLogger;print(e,r,a){let n=a?.replace(/^_/,"")||this.context||"";if([m.INSTANCE_LOADER,m.ROUTES_RESOLVER,m.ROUTER_EXPLORER].includes(n))return;let c={[m.NEST_FACTORY]:"Application is starting...",[m.NEST_APPLICATION]:"Application started."}[n]||r||"";(n?this.pinoLogger.logger.child({name:n}):this.pinoLogger.logger)[e](c)}log(e,r){this.print("info",e,r)}error(e,r){this.print("error",e,r)}warn(e,r){this.print("warn",e,r)}debug(e,r){this.print("debug",e,r)}verbose(e,r){this.print("trace",e,r)}fatal(e,r){this.print("fatal",e,r)}};b([B(O),v("design:type",typeof O>"u"?Object:O)],u.prototype,"pinoLogger",void 0);u=b([D({scope:F.TRANSIENT})],u);function U(t,e,r,a){var n=arguments.length,o=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,r):a,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(t,e,r,a);else for(var c=t.length-1;c>=0;c--)(s=t[c])&&(o=(n<3?s(o):n>3?s(e,r,o):s(e,r))||o);return n>3&&o&&Object.defineProperty(e,r,o),o}i(U,"_ts_decorate");var l=class extends _{static{i(this,"LoggerModule")}static register(e){let r=super.register(e);return{...r,imports:[...r.imports??[],N.forRoot(g(e))]}}static registerAsync(e){let r=super.registerAsync(e);return{...r,imports:[...r.imports??[],N.forRootAsync({imports:e.imports,inject:e.inject,useFactory:i(async(...a)=>{if(e.useFactory){let n=await e.useFactory(...a);return g(n)}return g({})},"useFactory")})]}}};l=U([H(),V({providers:[u,{provide:k,useClass:q},{provide:Y,useClass:f}],exports:[u]})],l);export{m as LoggerContexts,ne as LoggerLevels,l 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, 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"]}
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 isProduction = process.env.NODE_ENV === 'production' || true;\n const formatter = new HttpMessageFormatter();\n\n const pinoOptions = {\n name: 'Http',\n level: options.level,\n timestamp: isProduction,\n customReceivedMessage: (req) => {\n const response = toAxiosResponse(req, {} as ServerResponse);\n\n const messageBuilder = new HttpMessageBuilder({\n response,\n });\n\n return messageBuilder.makeMethodText().makeUrlText().build();\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 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\n const formatter22 = () => {\n return {\n write: (msg: string) => {\n console.log(msg);\n },\n };\n };\n\n return {\n pinoHttp: isProduction ? [pinoOptions, formatter22()] : [pinoOptions, formatter.makeLogStream()],\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","isProduction","process","env","NODE_ENV","formatter","HttpMessageFormatter","pinoOptions","level","timestamp","customReceivedMessage","__name","HttpMessageBuilder","makeMethodText","makeUrlText","build","customSuccessMessage","duration","makeStatusText","makeDurationText","customSuccessObject","messageBuilder","requestData","makeRequestDataObj","Object","keys","length","customErrorMessage","axiosError","customLogLevel","_req","HttpStatuses","INTERNAL_SERVER_ERROR","BAD_REQUEST","customAttributeKeys","err","pinoHttp","write","msg","console","log","formatter22","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.7",
3
+ "version": "2.1.9",
4
4
  "description": "Logger module for NestJS - Simple - Informative - Pretty",
5
5
  "license": "MIT",
6
6
  "repository": {