@iamnnort/nestjs-logger 2.2.0 → 3.0.0
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/README.md +4 -0
- package/dist/index.d.mts +1 -6
- package/dist/index.d.ts +1 -6
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -3,7 +3,6 @@ import { DynamicModule, ConsoleLogger } from '@nestjs/common';
|
|
|
3
3
|
|
|
4
4
|
type LoggerConfig = {
|
|
5
5
|
level: LoggerLevels;
|
|
6
|
-
output?: LoggerOutputs;
|
|
7
6
|
};
|
|
8
7
|
declare enum LoggerLevels {
|
|
9
8
|
FATAL = "fatal",
|
|
@@ -13,10 +12,6 @@ declare enum LoggerLevels {
|
|
|
13
12
|
DEBUG = "debug",
|
|
14
13
|
TRACE = "trace"
|
|
15
14
|
}
|
|
16
|
-
declare enum LoggerOutputs {
|
|
17
|
-
MESSAGE = "message",
|
|
18
|
-
DATA = "data"
|
|
19
|
-
}
|
|
20
15
|
declare enum LoggerContexts {
|
|
21
16
|
SYSTEM = "System",
|
|
22
17
|
INSTANCE_LOADER = "InstanceLoader",
|
|
@@ -46,4 +41,4 @@ declare class LoggerService extends ConsoleLogger {
|
|
|
46
41
|
fatal(message: any, context?: string): void;
|
|
47
42
|
}
|
|
48
43
|
|
|
49
|
-
export { type LoggerConfig, LoggerContexts, LoggerLevels, LoggerModule,
|
|
44
|
+
export { type LoggerConfig, LoggerContexts, LoggerLevels, LoggerModule, LoggerService };
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ import { DynamicModule, ConsoleLogger } from '@nestjs/common';
|
|
|
3
3
|
|
|
4
4
|
type LoggerConfig = {
|
|
5
5
|
level: LoggerLevels;
|
|
6
|
-
output?: LoggerOutputs;
|
|
7
6
|
};
|
|
8
7
|
declare enum LoggerLevels {
|
|
9
8
|
FATAL = "fatal",
|
|
@@ -13,10 +12,6 @@ declare enum LoggerLevels {
|
|
|
13
12
|
DEBUG = "debug",
|
|
14
13
|
TRACE = "trace"
|
|
15
14
|
}
|
|
16
|
-
declare enum LoggerOutputs {
|
|
17
|
-
MESSAGE = "message",
|
|
18
|
-
DATA = "data"
|
|
19
|
-
}
|
|
20
15
|
declare enum LoggerContexts {
|
|
21
16
|
SYSTEM = "System",
|
|
22
17
|
INSTANCE_LOADER = "InstanceLoader",
|
|
@@ -46,4 +41,4 @@ declare class LoggerService extends ConsoleLogger {
|
|
|
46
41
|
fatal(message: any, context?: string): void;
|
|
47
42
|
}
|
|
48
43
|
|
|
49
|
-
export { type LoggerConfig, LoggerContexts, LoggerLevels, LoggerModule,
|
|
44
|
+
export { type LoggerConfig, LoggerContexts, LoggerLevels, LoggerModule, LoggerService };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
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
|
|
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 v=Object.create;var d=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var H=Object.getPrototypeOf,B=Object.prototype.hasOwnProperty;var i=(e,t)=>d(e,"name",{value:t,configurable:!0}),l=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,s)=>(typeof require<"u"?require:t)[s]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Y=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of F(t))!B.call(e,a)&&a!==s&&d(e,a,{get:()=>t[a],enumerable:!(r=j(t,a))||r.enumerable});return e};var S=(e,t,s)=>(s=e!=null?v(H(e)):{},Y(t||!e||!e.__esModule?d(s,"default",{value:e,enumerable:!0}):s,e));var M=D(m=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});var V=Object.defineProperty,K=i((e,t)=>V(e,"name",{value:t,configurable:!0}),"e"),W=m.b=(e=>typeof l<"u"?l:typeof Proxy<"u"?new Proxy(e,{get:i((t,s)=>(typeof l<"u"?l:t)[s],"get")}):e)(function(e){if(typeof l<"u")return l.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),J=i((e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),"g");m.a=K;m.b=W;m.c=J});var g=D(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});function $(e,t){return _nullishCoalesce(e, () => (t()))}i($,"_nullishCoalesce");function T(e){let t,s=e[0],r=1;for(;r<e.length;){let a=e[r],o=e[r+1];if(r+=2,(a==="optionalAccess"||a==="optionalCall")&&s==null)return;a==="access"||a==="optionalAccess"?(t=s,s=o(s)):(a==="call"||a==="optionalCall")&&(s=o((...n)=>s.call(t,...n)),t=void 0)}return s}i(T,"_optionalChain");var _,A=M(),C=(function(e){return e.GET="get",e.POST="post",e.PUT="put",e.PATCH="patch",e.DELETE="delete",e})({}),U=R.HttpStatuses=(function(e){return e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLYHINTS=103]="EARLYHINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.AMBIGUOUS=300]="AMBIGUOUS",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",e[e.URI_TOO_LONG=414]="URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",e[e.MISDIRECTED=421]="MISDIRECTED",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e})({}),X=class{static{i(this,"N")}static{A.a.call(void 0,this,"HttpMessageBuilder")}constructor(e){this.printQueue=[],this.request=e.request,this.response=e.response,this.error=e.error,this.duration=e.duration,this.redactedKeys=["accessToken","refreshToken","apiKey","password","apiSecretKey","apiPublishableKey",...$(e.redactedKeys,()=>[])]}getRequestParam(e){return T([this,"access",t=>t.request,"optionalAccess",t=>t[e]])||T([this,"access",t=>t.response,"optionalAccess",t=>t.config,"optionalAccess",t=>t[e]])||T([this,"access",t=>t.error,"optionalAccess",t=>t.response,"optionalAccess",t=>t.config,"optionalAccess",t=>t[e]])}getResponseParam(e){return T([this,"access",t=>t.response,"optionalAccess",t=>t[e]])||T([this,"access",t=>t.error,"optionalAccess",t=>t.response,"optionalAccess",t=>t[e]])}makeDataObjJson(e){return Object.keys(e).reduce((t,s)=>{if(this.redactedKeys.includes(s))return{...t,[s]:"[redacted]"};if(typeof e[s]=="string"&&(e[s].startsWith("{")||e[s].startsWith("[")))try{return JSON.parse(e[s]),{...t,[s]:"[compressed]"}}catch (e2){}return{...t,[s]:e[s]}},{})}makeDataObj(e){if(!e)return{};if(typeof e=="string")try{return this.makeDataObjJson(JSON.parse(e))}catch (e3){return e}return this.makeDataObjJson(e)}makeUrlText(){let e=this.getRequestParam("url"),t=this.getRequestParam("params"),s=this.getRequestParam("paramsSerializer");return e&&(t?(delete t[0],this.printQueue.push([e,s.serialize(t)].filter(r=>r).join("?"))):this.printQueue.push(e)),this}makeMethodText(){let e=this.getRequestParam("method");return e&&this.printQueue.push(e.toUpperCase()),this}makeStatusText(){let e=this.getResponseParam("status");if(e){this.printQueue.push(e);let t=this.getResponseParam("statusText");t&&this.printQueue.push(t)}return this}makeDurationText(){return this.duration&&this.printQueue.push(`(${this.duration}ms)`),this}build(){return this.printQueue.join(" ")}makeRequestDataObj(){let e=this.getRequestParam("data");return this.makeDataObj(e)}makeResponseDataObj(){let e=this.getResponseParam("data");return this.makeDataObj(e)}makeMethod(){let e=this.getRequestParam("method");return e?e.toLowerCase():C.GET}makeResponseData(){let e=this.getResponseParam("data");return e?typeof e=="string"?e:JSON.stringify(e):""}makeStatus(){return this.getResponseParam("status")||U.INTERNAL_SERVER_ERROR}makeResponse(){return{success:this.error===void 0,status:this.makeStatus(),method:this.makeMethod(),data:this.makeResponseData()}}},z=(_=class{static{i(this,"_class")}constructor(){_.prototype.__init.call(this),_.prototype.__init2.call(this)}static{A.a.call(void 0,this,"HttpMessageFormatter")}__init(){this.ignoredKeys=["level","msg","name","time","pid","hostname","req","res","responseTime","reqId"]}__init2(){this.levelMap={10:{label:"TRACE",log:console.trace},20:{label:"DEBUG",log:console.debug},30:{label:"INFO",log:console.info},40:{label:"WARN",log:console.warn},50:{label:"ERROR",log:console.error},60:{label:"FATAL",log:console.error}}}makeLevelLabel(e){return T([this,"access",t=>t.levelMap,"access",t=>t[e.level],"optionalAccess",t=>t.label])||"INFO"}makeLevelLog(e){return T([this,"access",t=>t.levelMap,"access",t=>t[e.level],"optionalAccess",t=>t.log])||console.info}makeName(e){return e.name||""}makeMessage(e){return e.msg||""}makeMessageTitle(e){return this.makeName(e)?`${this.makeLevelLabel(e)} (${this.makeName(e)}): ${this.makeMessage(e)}`:`${this.makeLevelLabel(e)}: ${this.makeMessage(e)}`}makeMessageExtraValue(e){return typeof e=="object"&&e!==null?JSON.stringify(e,null,2):String(e)}makeMessageExtraLine(e,t){let s=this.makeMessageExtraValue(t).split(`
|
|
2
|
+
`).map(r=>` ${r}`).join(`
|
|
3
|
+
`);return` ${e}:
|
|
4
|
+
${s}`}makeMessageExtra(e){return Object.entries(e).reduce((t,[s,r])=>this.ignoredKeys.includes(s)?t:[...t,this.makeMessageExtraLine(s,r)],[]).join(`
|
|
5
|
+
`)}makeDataExtra(e){return Object.entries(e).reduce((t,[s,r])=>this.ignoredKeys.includes(s)?t:{...t,[s]:r},{})}makeData(e){return{level:this.makeLevelLabel(e),name:this.makeName(e),message:this.makeMessage(e),...this.makeDataExtra(e)}}makeLogStream(){return process.env.NODE_ENV==="production"?this.makeDataLogStream():this.makeMessageLogStream()}makeMessageLogStream(){return{write:A.a.call(void 0,e=>{try{let t=JSON.parse(e),s=[],r=this.makeMessageTitle(t);r&&s.push(r);let a=this.makeMessageExtra(t);a&&s.push(a);let o=s.join(`
|
|
6
|
+
`);this.makeLevelLog(t)(o)}catch (e4){console.error(e)}},"write")}}makeDataLogStream(){return{write:A.a.call(void 0,e=>{try{let t=JSON.parse(e),s=this.makeData(t);this.makeLevelLog(t)(JSON.stringify(s,null,2))}catch (e5){console.error(e)}},"write")}}},_);R.HttpMessageBuilder=X;R.HttpMessageFormatter=z;R.HttpMethods=C;R.HttpStatuses=U});var _common = require('@nestjs/common');var _core = require('@nestjs/core');var _nestjspino = require('nestjs-pino');var{ConfigurableModuleClass:P,MODULE_OPTIONS_TOKEN:me,OPTIONS_TYPE:Oe,ASYNC_OPTIONS_TYPE:Ne}=new (0, _common.ConfigurableModuleBuilder)().build();function G(e,t,s,r){var a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,s):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,s,r);else for(var E=e.length-1;E>=0;E--)(n=e[E])&&(o=(a<3?n(o):a>3?n(t,s,o):n(t,s))||o);return a>3&&o&&Object.defineProperty(t,s,o),o}i(G,"_ts_decorate");var p=class{static{i(this,"LoggerExceptionFilter")}catch(t,s){let a=s.switchToHttp().getResponse();if(t instanceof _common.HttpException){let o=t.getStatus(),n=t.getResponse();return a.status(o).json(n)}a.status(_common.HttpStatus.INTERNAL_SERVER_ERROR).json({message:"Something went wrong.",error:"Internal Server Error",statusCode:_common.HttpStatus.INTERNAL_SERVER_ERROR})}};p=G([_common.Catch.call(void 0, )],p);var c=S(g()),b=S(g());function k(e){let t=e;return{url:e.url,method:e.method,data:t.body}}i(k,"toAxiosConfig");function f(e,t){return{status:t.statusCode,statusText:t.statusMessage,data:void 0,headers:{},config:k(e)}}i(f,"toAxiosResponse");function ee(e,t,s){return{...s,name:s.name,message:s.message,response:f(e,t),config:k(e)}}i(ee,"toAxiosError");function h(e){let t=new b.HttpMessageFormatter;return{pinoHttp:[{name:"Http",level:e.level,timestamp:!1,customReceivedMessage:i(s=>{let r=f(s,{});return new c.HttpMessageBuilder({response:r}).makeMethodText().makeUrlText().build()},"customReceivedMessage"),customSuccessMessage:i((s,r,a)=>{let o=f(s,r);return new c.HttpMessageBuilder({response:o,duration:a}).makeMethodText().makeUrlText().makeStatusText().makeDurationText().build()},"customSuccessMessage"),customSuccessObject:i((s,r)=>{let a=f(s,r),o=new c.HttpMessageBuilder({response:a}),n={},E=o.makeRequestDataObj();return Object.keys(E).length>0&&(n.request=E),n},"customSuccessObject"),customErrorMessage:i((s,r,a)=>{let o=ee(s,r,a);return new c.HttpMessageBuilder({error:o}).makeMethodText().makeUrlText().makeStatusText().build()},"customErrorMessage"),customLogLevel:i((s,r,a)=>a||r.statusCode>=c.HttpStatuses.INTERNAL_SERVER_ERROR?"error":r.statusCode>=c.HttpStatuses.BAD_REQUEST?"warn":"info","customLogLevel"),customAttributeKeys:{err:"error"}},t.makeLogStream()],forRoutes:[{path:"*",method:_common.RequestMethod.ALL}]}}i(h,"makePinoParams");var Ue=(function(e){return e.FATAL="fatal",e.ERROR="error",e.WARN="warn",e.INFO="info",e.DEBUG="debug",e.TRACE="trace",e})({}),O= exports.LoggerContexts =(function(e){return e.SYSTEM="System",e.INSTANCE_LOADER="InstanceLoader",e.ROUTES_RESOLVER="RoutesResolver",e.ROUTER_EXPLORER="RouterExplorer",e.NEST_FACTORY="NestFactory",e.NEST_APPLICATION="NestApplication",e})({});function y(e,t,s,r){var a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,s):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,s,r);else for(var E=e.length-1;E>=0;E--)(n=e[E])&&(o=(a<3?n(o):a>3?n(t,s,o):n(t,s))||o);return a>3&&o&&Object.defineProperty(t,s,o),o}i(y,"_ts_decorate");function te(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}i(te,"_ts_metadata");var u=class extends _common.ConsoleLogger{static{i(this,"LoggerService")}print(t,s,r){let a=_optionalChain([r, 'optionalAccess', _2 => _2.replace, 'call', _3 => _3(/^_/,"")])||this.context||"";if([O.INSTANCE_LOADER,O.ROUTES_RESOLVER,O.ROUTER_EXPLORER].includes(a))return;let E={[O.NEST_FACTORY]:"Application is starting...",[O.NEST_APPLICATION]:"Application started."}[a]||s||"";(a?this.pinoLogger.logger.child({name:a}):this.pinoLogger.logger)[t](E)}log(t,s){this.print("info",t,s)}error(t,s){this.print("error",t,s)}warn(t,s){this.print("warn",t,s)}debug(t,s){this.print("debug",t,s)}verbose(t,s){this.print("trace",t,s)}fatal(t,s){this.print("fatal",t,s)}};y([_common.Inject.call(void 0, _nestjspino.PinoLogger),te("design:type",typeof _nestjspino.PinoLogger>"u"?Object:_nestjspino.PinoLogger)],u.prototype,"pinoLogger",void 0);u= exports.LoggerService =y([_common.Injectable.call(void 0, {scope:_common.Scope.TRANSIENT})],u);function ie(e,t,s,r){var a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,s):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,s,r);else for(var E=e.length-1;E>=0;E--)(n=e[E])&&(o=(a<3?n(o):a>3?n(t,s,o):n(t,s))||o);return a>3&&o&&Object.defineProperty(t,s,o),o}i(ie,"_ts_decorate");var N=class extends P{static{i(this,"LoggerModule")}static register(t){let s=super.register(t);return{...s,imports:[..._nullishCoalesce(s.imports, () => ([])),_nestjspino.LoggerModule.forRoot(h(t))]}}static registerAsync(t){let s=super.registerAsync(t);return{...s,imports:[..._nullishCoalesce(s.imports, () => ([])),_nestjspino.LoggerModule.forRootAsync({imports:t.imports,inject:t.inject,useFactory:i(async(...r)=>{if(t.useFactory){let a=await t.useFactory(...r);return h(a)}return h({})},"useFactory")})]}}};N= exports.LoggerModule =ie([_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]})],N);exports.LoggerContexts = O; exports.LoggerLevels = Ue; exports.LoggerModule = N; exports.LoggerService = u;
|
|
2
7
|
//# 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/types.ts","../src/service.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","LoggerLevels","LoggerOutputs","LoggerContexts","toAxiosConfig","req","expressReq","url","method","data","body","toAxiosResponse","res","statusText","statusMessage","undefined","headers","config","toAxiosError","name","makePinoParams","options","formatter","HttpMessageFormatter","pinoHttp","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","output","DATA","makeLambdaLogStream","makeLogStream","forRoutes","path","RequestMethod","ALL","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';\nimport { LoggerOutputs } from './types';\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 const pinoOptions = {\n name: 'Http',\n level: options.level,\n timestamp: false,\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 return {\n pinoHttp: [\n pinoOptions,\n options.output === LoggerOutputs.DATA ? formatter.makeLambdaLogStream() : formatter.makeLogStream(),\n ],\n\n forRoutes: [\n {\n path: '*',\n method: RequestMethod.ALL,\n },\n ],\n };\n}\n","export type LoggerConfig = {\n level: LoggerLevels;\n output?: LoggerOutputs;\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 LoggerOutputs {\n MESSAGE = 'message',\n DATA = 'data',\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","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"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/nestjs-logger/nestjs-logger/dist/index.js","../../../config/config/dist/chunk-O5VDNAAD.js","../../../config/config/dist/http/index.js","../node_modules/@iamnnort/config/src/http/types.ts","../node_modules/@iamnnort/config/src/http/message-builder.ts","../node_modules/@iamnnort/config/src/http/message-formatter.ts","../src/module.ts"],"names":["require_chunk_O5VDNAAD","__commonJSMin","exports","d","e","__name","a","b","f","__require","c","g","require_http","_nullishCoalesce","lhs","rhsFn","_optionalChain","ops","lastAccessLHS","value","i","op","fn","args","_class","_chunkO5VDNAADjs","HttpMethods","HttpStatuses","HttpMessageBuilder","printQueue","options","request","response","error","duration","redactedKeys","getRequestParam","paramName","_2","_4","config","_7","getResponseParam","_11","_13","makeDataObjJson","data","Object","keys","reduce","accData","key","includes","startsWith","JSON","parse","makeDataObj","makeUrlText","url","params","paramsSerializer","push","serialize","filter","_","join","makeMethodText","method","toUpperCase","makeStatusText","status","statusText","makeDurationText","build","makeRequestDataObj","makeResponseDataObj","makeMethod","toLowerCase","GET","makeResponseData","stringify","makeStatus","INTERNAL_SERVER_ERROR","makeResponse","success","undefined","HttpMessageFormatter","ignoredKeys","levelMap","label","log","console","trace","debug","info","warn","_16","level","_18","makeLevelLog","_19","_21","makeName","name","makeMessage","msg","makeMessageTitle","LoggerService"],"mappings":"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","file":"/home/runner/work/nestjs-logger/nestjs-logger/dist/index.js","sourcesContent":[null,null,null,"export enum HttpMethods {\n GET = 'get',\n POST = 'post',\n PUT = 'put',\n PATCH = 'patch',\n DELETE = 'delete',\n}\n\nexport enum HttpStatuses {\n CONTINUE = 100,\n SWITCHING_PROTOCOLS = 101,\n PROCESSING = 102,\n EARLYHINTS = 103,\n OK = 200,\n CREATED = 201,\n ACCEPTED = 202,\n NON_AUTHORITATIVE_INFORMATION = 203,\n NO_CONTENT = 204,\n RESET_CONTENT = 205,\n PARTIAL_CONTENT = 206,\n AMBIGUOUS = 300,\n MOVED_PERMANENTLY = 301,\n FOUND = 302,\n SEE_OTHER = 303,\n NOT_MODIFIED = 304,\n TEMPORARY_REDIRECT = 307,\n PERMANENT_REDIRECT = 308,\n BAD_REQUEST = 400,\n UNAUTHORIZED = 401,\n PAYMENT_REQUIRED = 402,\n FORBIDDEN = 403,\n NOT_FOUND = 404,\n METHOD_NOT_ALLOWED = 405,\n NOT_ACCEPTABLE = 406,\n PROXY_AUTHENTICATION_REQUIRED = 407,\n REQUEST_TIMEOUT = 408,\n CONFLICT = 409,\n GONE = 410,\n LENGTH_REQUIRED = 411,\n PRECONDITION_FAILED = 412,\n PAYLOAD_TOO_LARGE = 413,\n URI_TOO_LONG = 414,\n UNSUPPORTED_MEDIA_TYPE = 415,\n REQUESTED_RANGE_NOT_SATISFIABLE = 416,\n EXPECTATION_FAILED = 417,\n I_AM_A_TEAPOT = 418,\n MISDIRECTED = 421,\n UNPROCESSABLE_ENTITY = 422,\n FAILED_DEPENDENCY = 424,\n PRECONDITION_REQUIRED = 428,\n TOO_MANY_REQUESTS = 429,\n INTERNAL_SERVER_ERROR = 500,\n NOT_IMPLEMENTED = 501,\n BAD_GATEWAY = 502,\n SERVICE_UNAVAILABLE = 503,\n GATEWAY_TIMEOUT = 504,\n HTTP_VERSION_NOT_SUPPORTED = 505,\n}\n","import { AxiosError, AxiosResponse, AxiosRequestConfig } from 'axios';\nimport { HttpMethods, HttpStatuses } from './types';\n\nexport class HttpMessageBuilder {\n private printQueue: string[];\n\n private request?: AxiosRequestConfig;\n private response?: AxiosResponse;\n private error?: AxiosError;\n\n private duration?: number;\n private redactedKeys: string[];\n\n constructor(options: {\n request?: AxiosRequestConfig;\n response?: AxiosResponse;\n error?: AxiosError;\n duration?: number;\n redactedKeys?: string[];\n }) {\n this.printQueue = [];\n\n this.request = options.request;\n this.response = options.response;\n this.error = options.error;\n\n this.duration = options.duration;\n this.redactedKeys = [\n 'accessToken',\n 'refreshToken',\n 'apiKey',\n 'password',\n 'apiSecretKey',\n 'apiPublishableKey',\n ...(options.redactedKeys ?? []),\n ];\n }\n\n private getRequestParam(paramName: string) {\n return this.request?.[paramName] || this.response?.config?.[paramName] || this.error?.response?.config?.[paramName];\n }\n\n private getResponseParam(paramName: string) {\n return this.response?.[paramName] || this.error?.response?.[paramName];\n }\n\n private makeDataObjJson(data: any) {\n return Object.keys(data).reduce((accData, key) => {\n if (this.redactedKeys.includes(key)) {\n return {\n ...accData,\n [key]: '[redacted]',\n };\n }\n\n if (typeof data[key] === 'string' && (data[key].startsWith('{') || data[key].startsWith('['))) {\n try {\n JSON.parse(data[key]);\n\n return {\n ...accData,\n [key]: '[compressed]',\n };\n } catch (error) {\n //\n }\n }\n\n return {\n ...accData,\n [key]: data[key],\n };\n }, {});\n }\n\n private makeDataObj(data: any) {\n if (!data) {\n return {};\n }\n\n if (typeof data === 'string') {\n try {\n return this.makeDataObjJson(JSON.parse(data));\n } catch (error) {\n return data;\n }\n }\n\n return this.makeDataObjJson(data);\n }\n\n makeUrlText() {\n const url = this.getRequestParam('url');\n const params = this.getRequestParam('params');\n const paramsSerializer = this.getRequestParam('paramsSerializer');\n\n if (url) {\n if (params) {\n delete params['0'];\n this.printQueue.push([url, paramsSerializer.serialize(params)].filter((_) => _).join('?'));\n } else {\n this.printQueue.push(url);\n }\n }\n\n return this;\n }\n\n makeMethodText() {\n const method = this.getRequestParam('method');\n\n if (method) {\n this.printQueue.push(method.toUpperCase());\n }\n\n return this;\n }\n\n makeStatusText() {\n const status = this.getResponseParam('status');\n\n if (status) {\n this.printQueue.push(status);\n\n const statusText = this.getResponseParam('statusText');\n\n if (statusText) {\n this.printQueue.push(statusText);\n }\n }\n\n return this;\n }\n\n makeDurationText() {\n if (this.duration) {\n this.printQueue.push(`(${this.duration}ms)`);\n }\n\n return this;\n }\n\n build() {\n return this.printQueue.join(' ');\n }\n\n makeRequestDataObj() {\n const data = this.getRequestParam('data');\n\n return this.makeDataObj(data);\n }\n\n makeResponseDataObj() {\n const data = this.getResponseParam('data');\n\n return this.makeDataObj(data);\n }\n\n makeMethod() {\n const method = this.getRequestParam('method');\n\n if (!method) {\n return HttpMethods.GET;\n }\n\n return method.toLowerCase() as HttpMethods;\n }\n\n makeResponseData() {\n const data = this.getResponseParam('data');\n\n if (!data) {\n return '';\n }\n\n if (typeof data === 'string') {\n return data;\n }\n\n return JSON.stringify(data);\n }\n\n makeStatus() {\n const status = this.getResponseParam('status');\n\n if (!status) {\n return HttpStatuses.INTERNAL_SERVER_ERROR;\n }\n\n return status as HttpStatuses;\n }\n\n makeResponse<T>() {\n return {\n success: this.error === undefined,\n status: this.makeStatus(),\n method: this.makeMethod(),\n data: this.makeResponseData() as T,\n };\n }\n}\n","export class HttpMessageFormatter {\n private ignoredKeys: string[] = [\n 'level',\n 'msg',\n 'name',\n 'time',\n 'pid',\n 'hostname',\n 'req',\n 'res',\n 'responseTime',\n 'reqId',\n ];\n\n private levelMap: Record<number, { label: string; log: (...data: any[]) => void }> = {\n 10: {\n label: 'TRACE',\n log: console.trace,\n },\n 20: {\n label: 'DEBUG',\n log: console.debug,\n },\n 30: {\n label: 'INFO',\n log: console.info,\n },\n 40: {\n label: 'WARN',\n log: console.warn,\n },\n 50: {\n label: 'ERROR',\n log: console.error,\n },\n 60: {\n label: 'FATAL',\n log: console.error,\n },\n };\n\n private makeLevelLabel(log: any): string {\n return this.levelMap[log.level]?.label || 'INFO';\n }\n\n private makeLevelLog(log: any): (...data: any[]) => void {\n return this.levelMap[log.level]?.log || console.info;\n }\n\n private makeName(log: any): string {\n return log.name || '';\n }\n\n private makeMessage(log: any): string {\n return log.msg || '';\n }\n\n private makeMessageTitle(log: any): string {\n const name = this.makeName(log);\n\n if (name) {\n return `${this.makeLevelLabel(log)} (${this.makeName(log)}): ${this.makeMessage(log)}`;\n }\n\n return `${this.makeLevelLabel(log)}: ${this.makeMessage(log)}`;\n }\n\n private makeMessageExtraValue(value: unknown): string {\n if (typeof value === 'object' && value !== null) {\n return JSON.stringify(value, null, 2);\n }\n\n return String(value);\n }\n\n private makeMessageExtraLine(key: string, value: unknown): string {\n const extraValue = this.makeMessageExtraValue(value);\n\n const extraIndentedValue = extraValue\n .split('\\n')\n .map((line) => ` ${line}`)\n .join('\\n');\n\n return ` ${key}:\\n${extraIndentedValue}`;\n }\n\n private makeMessageExtra(data: Record<string, unknown>): string {\n const extraLines = Object.entries(data).reduce((accLines, [key, value]) => {\n if (this.ignoredKeys.includes(key)) {\n return accLines;\n }\n\n return [...accLines, this.makeMessageExtraLine(key, value)];\n }, [] as string[]);\n\n return extraLines.join('\\n');\n }\n\n private makeDataExtra(data: Record<string, unknown>): Record<string, unknown> {\n const extra = Object.entries(data).reduce(\n (accExtra, [key, value]) => {\n if (this.ignoredKeys.includes(key)) {\n return accExtra;\n }\n\n return { ...accExtra, [key]: value };\n },\n {} as Record<string, unknown>,\n );\n\n return extra;\n }\n\n private makeData(log: any): any {\n const data = {\n level: this.makeLevelLabel(log),\n name: this.makeName(log),\n message: this.makeMessage(log),\n ...this.makeDataExtra(log),\n };\n\n return data;\n }\n\n makeLogStream() {\n if (process.env.NODE_ENV === 'production') {\n return this.makeDataLogStream();\n }\n\n return this.makeMessageLogStream();\n }\n\n makeMessageLogStream() {\n return {\n write: (msg: string) => {\n try {\n const log = JSON.parse(msg);\n\n const output: string[] = [];\n\n const title = this.makeMessageTitle(log);\n\n if (title) {\n output.push(title);\n }\n\n const extra = this.makeMessageExtra(log);\n\n if (extra) {\n output.push(extra);\n }\n\n const message = output.join('\\n');\n\n const levelLog = this.makeLevelLog(log);\n\n levelLog(message);\n } catch {\n console.error(msg);\n }\n },\n };\n }\n\n makeDataLogStream() {\n return {\n write: (msg: string) => {\n try {\n const log = JSON.parse(msg);\n\n const data = this.makeData(log);\n\n const levelLog = this.makeLevelLog(log);\n\n levelLog(JSON.stringify(data, null, 2));\n } catch {\n console.error(msg);\n }\n },\n };\n }\n}\n","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"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
var
|
|
1
|
+
var v=Object.create;var d=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var H=Object.getPrototypeOf,B=Object.prototype.hasOwnProperty;var i=(e,t)=>d(e,"name",{value:t,configurable:!0}),l=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,s)=>(typeof require<"u"?require:t)[s]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Y=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of F(t))!B.call(e,a)&&a!==s&&d(e,a,{get:()=>t[a],enumerable:!(r=j(t,a))||r.enumerable});return e};var S=(e,t,s)=>(s=e!=null?v(H(e)):{},Y(t||!e||!e.__esModule?d(s,"default",{value:e,enumerable:!0}):s,e));var M=D(m=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});var V=Object.defineProperty,K=i((e,t)=>V(e,"name",{value:t,configurable:!0}),"e"),W=m.b=(e=>typeof l<"u"?l:typeof Proxy<"u"?new Proxy(e,{get:i((t,s)=>(typeof l<"u"?l:t)[s],"get")}):e)(function(e){if(typeof l<"u")return l.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),J=i((e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),"g");m.a=K;m.b=W;m.c=J});var g=D(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});function $(e,t){return e??t()}i($,"_nullishCoalesce");function T(e){let t,s=e[0],r=1;for(;r<e.length;){let a=e[r],o=e[r+1];if(r+=2,(a==="optionalAccess"||a==="optionalCall")&&s==null)return;a==="access"||a==="optionalAccess"?(t=s,s=o(s)):(a==="call"||a==="optionalCall")&&(s=o((...n)=>s.call(t,...n)),t=void 0)}return s}i(T,"_optionalChain");var _,A=M(),C=(function(e){return e.GET="get",e.POST="post",e.PUT="put",e.PATCH="patch",e.DELETE="delete",e})({}),U=R.HttpStatuses=(function(e){return e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLYHINTS=103]="EARLYHINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.AMBIGUOUS=300]="AMBIGUOUS",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",e[e.URI_TOO_LONG=414]="URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",e[e.MISDIRECTED=421]="MISDIRECTED",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e})({}),X=class{static{i(this,"N")}static{A.a.call(void 0,this,"HttpMessageBuilder")}constructor(e){this.printQueue=[],this.request=e.request,this.response=e.response,this.error=e.error,this.duration=e.duration,this.redactedKeys=["accessToken","refreshToken","apiKey","password","apiSecretKey","apiPublishableKey",...$(e.redactedKeys,()=>[])]}getRequestParam(e){return T([this,"access",t=>t.request,"optionalAccess",t=>t[e]])||T([this,"access",t=>t.response,"optionalAccess",t=>t.config,"optionalAccess",t=>t[e]])||T([this,"access",t=>t.error,"optionalAccess",t=>t.response,"optionalAccess",t=>t.config,"optionalAccess",t=>t[e]])}getResponseParam(e){return T([this,"access",t=>t.response,"optionalAccess",t=>t[e]])||T([this,"access",t=>t.error,"optionalAccess",t=>t.response,"optionalAccess",t=>t[e]])}makeDataObjJson(e){return Object.keys(e).reduce((t,s)=>{if(this.redactedKeys.includes(s))return{...t,[s]:"[redacted]"};if(typeof e[s]=="string"&&(e[s].startsWith("{")||e[s].startsWith("[")))try{return JSON.parse(e[s]),{...t,[s]:"[compressed]"}}catch{}return{...t,[s]:e[s]}},{})}makeDataObj(e){if(!e)return{};if(typeof e=="string")try{return this.makeDataObjJson(JSON.parse(e))}catch{return e}return this.makeDataObjJson(e)}makeUrlText(){let e=this.getRequestParam("url"),t=this.getRequestParam("params"),s=this.getRequestParam("paramsSerializer");return e&&(t?(delete t[0],this.printQueue.push([e,s.serialize(t)].filter(r=>r).join("?"))):this.printQueue.push(e)),this}makeMethodText(){let e=this.getRequestParam("method");return e&&this.printQueue.push(e.toUpperCase()),this}makeStatusText(){let e=this.getResponseParam("status");if(e){this.printQueue.push(e);let t=this.getResponseParam("statusText");t&&this.printQueue.push(t)}return this}makeDurationText(){return this.duration&&this.printQueue.push(`(${this.duration}ms)`),this}build(){return this.printQueue.join(" ")}makeRequestDataObj(){let e=this.getRequestParam("data");return this.makeDataObj(e)}makeResponseDataObj(){let e=this.getResponseParam("data");return this.makeDataObj(e)}makeMethod(){let e=this.getRequestParam("method");return e?e.toLowerCase():C.GET}makeResponseData(){let e=this.getResponseParam("data");return e?typeof e=="string"?e:JSON.stringify(e):""}makeStatus(){return this.getResponseParam("status")||U.INTERNAL_SERVER_ERROR}makeResponse(){return{success:this.error===void 0,status:this.makeStatus(),method:this.makeMethod(),data:this.makeResponseData()}}},z=(_=class{static{i(this,"_class")}constructor(){_.prototype.__init.call(this),_.prototype.__init2.call(this)}static{A.a.call(void 0,this,"HttpMessageFormatter")}__init(){this.ignoredKeys=["level","msg","name","time","pid","hostname","req","res","responseTime","reqId"]}__init2(){this.levelMap={10:{label:"TRACE",log:console.trace},20:{label:"DEBUG",log:console.debug},30:{label:"INFO",log:console.info},40:{label:"WARN",log:console.warn},50:{label:"ERROR",log:console.error},60:{label:"FATAL",log:console.error}}}makeLevelLabel(e){return T([this,"access",t=>t.levelMap,"access",t=>t[e.level],"optionalAccess",t=>t.label])||"INFO"}makeLevelLog(e){return T([this,"access",t=>t.levelMap,"access",t=>t[e.level],"optionalAccess",t=>t.log])||console.info}makeName(e){return e.name||""}makeMessage(e){return e.msg||""}makeMessageTitle(e){return this.makeName(e)?`${this.makeLevelLabel(e)} (${this.makeName(e)}): ${this.makeMessage(e)}`:`${this.makeLevelLabel(e)}: ${this.makeMessage(e)}`}makeMessageExtraValue(e){return typeof e=="object"&&e!==null?JSON.stringify(e,null,2):String(e)}makeMessageExtraLine(e,t){let s=this.makeMessageExtraValue(t).split(`
|
|
2
|
+
`).map(r=>` ${r}`).join(`
|
|
3
|
+
`);return` ${e}:
|
|
4
|
+
${s}`}makeMessageExtra(e){return Object.entries(e).reduce((t,[s,r])=>this.ignoredKeys.includes(s)?t:[...t,this.makeMessageExtraLine(s,r)],[]).join(`
|
|
5
|
+
`)}makeDataExtra(e){return Object.entries(e).reduce((t,[s,r])=>this.ignoredKeys.includes(s)?t:{...t,[s]:r},{})}makeData(e){return{level:this.makeLevelLabel(e),name:this.makeName(e),message:this.makeMessage(e),...this.makeDataExtra(e)}}makeLogStream(){return process.env.NODE_ENV==="production"?this.makeDataLogStream():this.makeMessageLogStream()}makeMessageLogStream(){return{write:A.a.call(void 0,e=>{try{let t=JSON.parse(e),s=[],r=this.makeMessageTitle(t);r&&s.push(r);let a=this.makeMessageExtra(t);a&&s.push(a);let o=s.join(`
|
|
6
|
+
`);this.makeLevelLog(t)(o)}catch{console.error(e)}},"write")}}makeDataLogStream(){return{write:A.a.call(void 0,e=>{try{let t=JSON.parse(e),s=this.makeData(t);this.makeLevelLog(t)(JSON.stringify(s,null,2))}catch{console.error(e)}},"write")}}},_);R.HttpMessageBuilder=X;R.HttpMessageFormatter=z;R.HttpMethods=C;R.HttpStatuses=U});import{Global as ne,Module as Ee}from"@nestjs/common";import{APP_FILTER as ue,APP_INTERCEPTOR as ce}from"@nestjs/core";import{LoggerErrorInterceptor as le,LoggerModule as x}from"nestjs-pino";import{ConfigurableModuleBuilder as w}from"@nestjs/common";var{ConfigurableModuleClass:P,MODULE_OPTIONS_TOKEN:me,OPTIONS_TYPE:Oe,ASYNC_OPTIONS_TYPE:Ne}=new w().build();import{Catch as Q,HttpException as q,HttpStatus as L}from"@nestjs/common";function G(e,t,s,r){var a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,s):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,s,r);else for(var E=e.length-1;E>=0;E--)(n=e[E])&&(o=(a<3?n(o):a>3?n(t,s,o):n(t,s))||o);return a>3&&o&&Object.defineProperty(t,s,o),o}i(G,"_ts_decorate");var p=class{static{i(this,"LoggerExceptionFilter")}catch(t,s){let a=s.switchToHttp().getResponse();if(t instanceof q){let o=t.getStatus(),n=t.getResponse();return a.status(o).json(n)}a.status(L.INTERNAL_SERVER_ERROR).json({message:"Something went wrong.",error:"Internal Server Error",statusCode:L.INTERNAL_SERVER_ERROR})}};p=G([Q()],p);var c=S(g()),b=S(g());import{RequestMethod as Z}from"@nestjs/common";function k(e){let t=e;return{url:e.url,method:e.method,data:t.body}}i(k,"toAxiosConfig");function f(e,t){return{status:t.statusCode,statusText:t.statusMessage,data:void 0,headers:{},config:k(e)}}i(f,"toAxiosResponse");function ee(e,t,s){return{...s,name:s.name,message:s.message,response:f(e,t),config:k(e)}}i(ee,"toAxiosError");function h(e){let t=new b.HttpMessageFormatter;return{pinoHttp:[{name:"Http",level:e.level,timestamp:!1,customReceivedMessage:i(s=>{let r=f(s,{});return new c.HttpMessageBuilder({response:r}).makeMethodText().makeUrlText().build()},"customReceivedMessage"),customSuccessMessage:i((s,r,a)=>{let o=f(s,r);return new c.HttpMessageBuilder({response:o,duration:a}).makeMethodText().makeUrlText().makeStatusText().makeDurationText().build()},"customSuccessMessage"),customSuccessObject:i((s,r)=>{let a=f(s,r),o=new c.HttpMessageBuilder({response:a}),n={},E=o.makeRequestDataObj();return Object.keys(E).length>0&&(n.request=E),n},"customSuccessObject"),customErrorMessage:i((s,r,a)=>{let o=ee(s,r,a);return new c.HttpMessageBuilder({error:o}).makeMethodText().makeUrlText().makeStatusText().build()},"customErrorMessage"),customLogLevel:i((s,r,a)=>a||r.statusCode>=c.HttpStatuses.INTERNAL_SERVER_ERROR?"error":r.statusCode>=c.HttpStatuses.BAD_REQUEST?"warn":"info","customLogLevel"),customAttributeKeys:{err:"error"}},t.makeLogStream()],forRoutes:[{path:"*",method:Z.ALL}]}}i(h,"makePinoParams");import{ConsoleLogger as se,Inject as re,Injectable as ae,Scope as oe}from"@nestjs/common";import{PinoLogger as I}from"nestjs-pino";var Ue=(function(e){return e.FATAL="fatal",e.ERROR="error",e.WARN="warn",e.INFO="info",e.DEBUG="debug",e.TRACE="trace",e})({}),O=(function(e){return e.SYSTEM="System",e.INSTANCE_LOADER="InstanceLoader",e.ROUTES_RESOLVER="RoutesResolver",e.ROUTER_EXPLORER="RouterExplorer",e.NEST_FACTORY="NestFactory",e.NEST_APPLICATION="NestApplication",e})({});function y(e,t,s,r){var a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,s):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,s,r);else for(var E=e.length-1;E>=0;E--)(n=e[E])&&(o=(a<3?n(o):a>3?n(t,s,o):n(t,s))||o);return a>3&&o&&Object.defineProperty(t,s,o),o}i(y,"_ts_decorate");function te(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}i(te,"_ts_metadata");var u=class extends se{static{i(this,"LoggerService")}pinoLogger;print(t,s,r){let a=r?.replace(/^_/,"")||this.context||"";if([O.INSTANCE_LOADER,O.ROUTES_RESOLVER,O.ROUTER_EXPLORER].includes(a))return;let E={[O.NEST_FACTORY]:"Application is starting...",[O.NEST_APPLICATION]:"Application started."}[a]||s||"";(a?this.pinoLogger.logger.child({name:a}):this.pinoLogger.logger)[t](E)}log(t,s){this.print("info",t,s)}error(t,s){this.print("error",t,s)}warn(t,s){this.print("warn",t,s)}debug(t,s){this.print("debug",t,s)}verbose(t,s){this.print("trace",t,s)}fatal(t,s){this.print("fatal",t,s)}};y([re(I),te("design:type",typeof I>"u"?Object:I)],u.prototype,"pinoLogger",void 0);u=y([ae({scope:oe.TRANSIENT})],u);function ie(e,t,s,r){var a=arguments.length,o=a<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,s):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(e,t,s,r);else for(var E=e.length-1;E>=0;E--)(n=e[E])&&(o=(a<3?n(o):a>3?n(t,s,o):n(t,s))||o);return a>3&&o&&Object.defineProperty(t,s,o),o}i(ie,"_ts_decorate");var N=class extends P{static{i(this,"LoggerModule")}static register(t){let s=super.register(t);return{...s,imports:[...s.imports??[],x.forRoot(h(t))]}}static registerAsync(t){let s=super.registerAsync(t);return{...s,imports:[...s.imports??[],x.forRootAsync({imports:t.imports,inject:t.inject,useFactory:i(async(...r)=>{if(t.useFactory){let a=await t.useFactory(...r);return h(a)}return h({})},"useFactory")})]}}};N=ie([ne(),Ee({providers:[u,{provide:ce,useClass:le},{provide:ue,useClass:p}],exports:[u]})],N);export{O as LoggerContexts,Ue as LoggerLevels,N as LoggerModule,u as LoggerService};
|
|
2
7
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/module.ts","../src/module-definition.ts","../src/exception-filter.ts","../src/builder.ts","../src/types.ts","../src/service.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';\nimport { LoggerOutputs } from './types';\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 const pinoOptions = {\n name: 'Http',\n level: options.level,\n timestamp: false,\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 return {\n pinoHttp: [\n pinoOptions,\n options.output === LoggerOutputs.DATA ? formatter.makeLambdaLogStream() : formatter.makeLogStream(),\n ],\n\n forRoutes: [\n {\n path: '*',\n method: RequestMethod.ALL,\n },\n ],\n };\n}\n","export type LoggerConfig = {\n level: LoggerLevels;\n output?: LoggerOutputs;\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 LoggerOutputs {\n MESSAGE = 'message',\n DATA = 'data',\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","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"],"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","LoggerLevels","LoggerOutputs","LoggerContexts","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","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","output","LoggerOutputs","DATA","makeLambdaLogStream","makeLogStream","forRoutes","path","RequestMethod","ALL","ConsoleLogger","Inject","Injectable","Scope","PinoLogger","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":["../../../config/config/dist/chunk-O5VDNAAD.js","../../../config/config/dist/http/index.js","../node_modules/@iamnnort/config/src/http/types.ts","../node_modules/@iamnnort/config/src/http/message-builder.ts","../node_modules/@iamnnort/config/src/http/message-formatter.ts","../src/module.ts","../src/module-definition.ts","../src/exception-filter.ts","../src/builder.ts","../src/service.ts","../src/types.ts"],"sourcesContent":[null,null,"export enum HttpMethods {\n GET = 'get',\n POST = 'post',\n PUT = 'put',\n PATCH = 'patch',\n DELETE = 'delete',\n}\n\nexport enum HttpStatuses {\n CONTINUE = 100,\n SWITCHING_PROTOCOLS = 101,\n PROCESSING = 102,\n EARLYHINTS = 103,\n OK = 200,\n CREATED = 201,\n ACCEPTED = 202,\n NON_AUTHORITATIVE_INFORMATION = 203,\n NO_CONTENT = 204,\n RESET_CONTENT = 205,\n PARTIAL_CONTENT = 206,\n AMBIGUOUS = 300,\n MOVED_PERMANENTLY = 301,\n FOUND = 302,\n SEE_OTHER = 303,\n NOT_MODIFIED = 304,\n TEMPORARY_REDIRECT = 307,\n PERMANENT_REDIRECT = 308,\n BAD_REQUEST = 400,\n UNAUTHORIZED = 401,\n PAYMENT_REQUIRED = 402,\n FORBIDDEN = 403,\n NOT_FOUND = 404,\n METHOD_NOT_ALLOWED = 405,\n NOT_ACCEPTABLE = 406,\n PROXY_AUTHENTICATION_REQUIRED = 407,\n REQUEST_TIMEOUT = 408,\n CONFLICT = 409,\n GONE = 410,\n LENGTH_REQUIRED = 411,\n PRECONDITION_FAILED = 412,\n PAYLOAD_TOO_LARGE = 413,\n URI_TOO_LONG = 414,\n UNSUPPORTED_MEDIA_TYPE = 415,\n REQUESTED_RANGE_NOT_SATISFIABLE = 416,\n EXPECTATION_FAILED = 417,\n I_AM_A_TEAPOT = 418,\n MISDIRECTED = 421,\n UNPROCESSABLE_ENTITY = 422,\n FAILED_DEPENDENCY = 424,\n PRECONDITION_REQUIRED = 428,\n TOO_MANY_REQUESTS = 429,\n INTERNAL_SERVER_ERROR = 500,\n NOT_IMPLEMENTED = 501,\n BAD_GATEWAY = 502,\n SERVICE_UNAVAILABLE = 503,\n GATEWAY_TIMEOUT = 504,\n HTTP_VERSION_NOT_SUPPORTED = 505,\n}\n","import { AxiosError, AxiosResponse, AxiosRequestConfig } from 'axios';\nimport { HttpMethods, HttpStatuses } from './types';\n\nexport class HttpMessageBuilder {\n private printQueue: string[];\n\n private request?: AxiosRequestConfig;\n private response?: AxiosResponse;\n private error?: AxiosError;\n\n private duration?: number;\n private redactedKeys: string[];\n\n constructor(options: {\n request?: AxiosRequestConfig;\n response?: AxiosResponse;\n error?: AxiosError;\n duration?: number;\n redactedKeys?: string[];\n }) {\n this.printQueue = [];\n\n this.request = options.request;\n this.response = options.response;\n this.error = options.error;\n\n this.duration = options.duration;\n this.redactedKeys = [\n 'accessToken',\n 'refreshToken',\n 'apiKey',\n 'password',\n 'apiSecretKey',\n 'apiPublishableKey',\n ...(options.redactedKeys ?? []),\n ];\n }\n\n private getRequestParam(paramName: string) {\n return this.request?.[paramName] || this.response?.config?.[paramName] || this.error?.response?.config?.[paramName];\n }\n\n private getResponseParam(paramName: string) {\n return this.response?.[paramName] || this.error?.response?.[paramName];\n }\n\n private makeDataObjJson(data: any) {\n return Object.keys(data).reduce((accData, key) => {\n if (this.redactedKeys.includes(key)) {\n return {\n ...accData,\n [key]: '[redacted]',\n };\n }\n\n if (typeof data[key] === 'string' && (data[key].startsWith('{') || data[key].startsWith('['))) {\n try {\n JSON.parse(data[key]);\n\n return {\n ...accData,\n [key]: '[compressed]',\n };\n } catch (error) {\n //\n }\n }\n\n return {\n ...accData,\n [key]: data[key],\n };\n }, {});\n }\n\n private makeDataObj(data: any) {\n if (!data) {\n return {};\n }\n\n if (typeof data === 'string') {\n try {\n return this.makeDataObjJson(JSON.parse(data));\n } catch (error) {\n return data;\n }\n }\n\n return this.makeDataObjJson(data);\n }\n\n makeUrlText() {\n const url = this.getRequestParam('url');\n const params = this.getRequestParam('params');\n const paramsSerializer = this.getRequestParam('paramsSerializer');\n\n if (url) {\n if (params) {\n delete params['0'];\n this.printQueue.push([url, paramsSerializer.serialize(params)].filter((_) => _).join('?'));\n } else {\n this.printQueue.push(url);\n }\n }\n\n return this;\n }\n\n makeMethodText() {\n const method = this.getRequestParam('method');\n\n if (method) {\n this.printQueue.push(method.toUpperCase());\n }\n\n return this;\n }\n\n makeStatusText() {\n const status = this.getResponseParam('status');\n\n if (status) {\n this.printQueue.push(status);\n\n const statusText = this.getResponseParam('statusText');\n\n if (statusText) {\n this.printQueue.push(statusText);\n }\n }\n\n return this;\n }\n\n makeDurationText() {\n if (this.duration) {\n this.printQueue.push(`(${this.duration}ms)`);\n }\n\n return this;\n }\n\n build() {\n return this.printQueue.join(' ');\n }\n\n makeRequestDataObj() {\n const data = this.getRequestParam('data');\n\n return this.makeDataObj(data);\n }\n\n makeResponseDataObj() {\n const data = this.getResponseParam('data');\n\n return this.makeDataObj(data);\n }\n\n makeMethod() {\n const method = this.getRequestParam('method');\n\n if (!method) {\n return HttpMethods.GET;\n }\n\n return method.toLowerCase() as HttpMethods;\n }\n\n makeResponseData() {\n const data = this.getResponseParam('data');\n\n if (!data) {\n return '';\n }\n\n if (typeof data === 'string') {\n return data;\n }\n\n return JSON.stringify(data);\n }\n\n makeStatus() {\n const status = this.getResponseParam('status');\n\n if (!status) {\n return HttpStatuses.INTERNAL_SERVER_ERROR;\n }\n\n return status as HttpStatuses;\n }\n\n makeResponse<T>() {\n return {\n success: this.error === undefined,\n status: this.makeStatus(),\n method: this.makeMethod(),\n data: this.makeResponseData() as T,\n };\n }\n}\n","export class HttpMessageFormatter {\n private ignoredKeys: string[] = [\n 'level',\n 'msg',\n 'name',\n 'time',\n 'pid',\n 'hostname',\n 'req',\n 'res',\n 'responseTime',\n 'reqId',\n ];\n\n private levelMap: Record<number, { label: string; log: (...data: any[]) => void }> = {\n 10: {\n label: 'TRACE',\n log: console.trace,\n },\n 20: {\n label: 'DEBUG',\n log: console.debug,\n },\n 30: {\n label: 'INFO',\n log: console.info,\n },\n 40: {\n label: 'WARN',\n log: console.warn,\n },\n 50: {\n label: 'ERROR',\n log: console.error,\n },\n 60: {\n label: 'FATAL',\n log: console.error,\n },\n };\n\n private makeLevelLabel(log: any): string {\n return this.levelMap[log.level]?.label || 'INFO';\n }\n\n private makeLevelLog(log: any): (...data: any[]) => void {\n return this.levelMap[log.level]?.log || console.info;\n }\n\n private makeName(log: any): string {\n return log.name || '';\n }\n\n private makeMessage(log: any): string {\n return log.msg || '';\n }\n\n private makeMessageTitle(log: any): string {\n const name = this.makeName(log);\n\n if (name) {\n return `${this.makeLevelLabel(log)} (${this.makeName(log)}): ${this.makeMessage(log)}`;\n }\n\n return `${this.makeLevelLabel(log)}: ${this.makeMessage(log)}`;\n }\n\n private makeMessageExtraValue(value: unknown): string {\n if (typeof value === 'object' && value !== null) {\n return JSON.stringify(value, null, 2);\n }\n\n return String(value);\n }\n\n private makeMessageExtraLine(key: string, value: unknown): string {\n const extraValue = this.makeMessageExtraValue(value);\n\n const extraIndentedValue = extraValue\n .split('\\n')\n .map((line) => ` ${line}`)\n .join('\\n');\n\n return ` ${key}:\\n${extraIndentedValue}`;\n }\n\n private makeMessageExtra(data: Record<string, unknown>): string {\n const extraLines = Object.entries(data).reduce((accLines, [key, value]) => {\n if (this.ignoredKeys.includes(key)) {\n return accLines;\n }\n\n return [...accLines, this.makeMessageExtraLine(key, value)];\n }, [] as string[]);\n\n return extraLines.join('\\n');\n }\n\n private makeDataExtra(data: Record<string, unknown>): Record<string, unknown> {\n const extra = Object.entries(data).reduce(\n (accExtra, [key, value]) => {\n if (this.ignoredKeys.includes(key)) {\n return accExtra;\n }\n\n return { ...accExtra, [key]: value };\n },\n {} as Record<string, unknown>,\n );\n\n return extra;\n }\n\n private makeData(log: any): any {\n const data = {\n level: this.makeLevelLabel(log),\n name: this.makeName(log),\n message: this.makeMessage(log),\n ...this.makeDataExtra(log),\n };\n\n return data;\n }\n\n makeLogStream() {\n if (process.env.NODE_ENV === 'production') {\n return this.makeDataLogStream();\n }\n\n return this.makeMessageLogStream();\n }\n\n makeMessageLogStream() {\n return {\n write: (msg: string) => {\n try {\n const log = JSON.parse(msg);\n\n const output: string[] = [];\n\n const title = this.makeMessageTitle(log);\n\n if (title) {\n output.push(title);\n }\n\n const extra = this.makeMessageExtra(log);\n\n if (extra) {\n output.push(extra);\n }\n\n const message = output.join('\\n');\n\n const levelLog = this.makeLevelLog(log);\n\n levelLog(message);\n } catch {\n console.error(msg);\n }\n },\n };\n }\n\n makeDataLogStream() {\n return {\n write: (msg: string) => {\n try {\n const log = JSON.parse(msg);\n\n const data = this.makeData(log);\n\n const levelLog = this.makeLevelLog(log);\n\n levelLog(JSON.stringify(data, null, 2));\n } catch {\n console.error(msg);\n }\n },\n };\n }\n}\n","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 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 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":["require_chunk_O5VDNAAD","__commonJSMin","exports","d","e","__name","a","b","f","__require","c","g","require_http","__commonJSMin","exports","_nullishCoalesce","lhs","rhsFn","__name","_optionalChain","ops","lastAccessLHS","value","i","op","fn","args","_class","_chunkO5VDNAADjs","HttpMethods","HttpStatuses","HttpMessageBuilder","printQueue","options","request","response","error","duration","redactedKeys","getRequestParam","paramName","_2","_4","config","_7","getResponseParam","_11","_13","makeDataObjJson","data","Object","keys","reduce","accData","key","includes","startsWith","JSON","parse","makeDataObj","makeUrlText","url","params","paramsSerializer","push","serialize","filter","_","join","makeMethodText","method","toUpperCase","makeStatusText","status","statusText","makeDurationText","build","makeRequestDataObj","makeResponseDataObj","makeMethod","toLowerCase","GET","makeResponseData","stringify","makeStatus","INTERNAL_SERVER_ERROR","makeResponse","success","undefined","HttpMessageFormatter","ignoredKeys","levelMap","label","log","console","trace","debug","info","warn","_16","level","_18","makeLevelLog","_19","_21","makeName","name","makeMessage","msg","makeMessageTitle","r","E","T","n","N","a","O","R","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","import_http","RequestMethod","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","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","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": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Logger module for NestJS - Simple - Informative - Pretty",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"main": "./dist/index.js",
|
|
21
21
|
"types": "./dist/index.d.ts",
|
|
22
22
|
"engines": {
|
|
23
|
-
"node": ">=
|
|
23
|
+
"node": ">=24.0.0"
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
26
|
"start": "yarn build && yarn --cwd ./example start",
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
"prepare": "husky"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@iamnnort/config": "^1.2.2",
|
|
36
35
|
"nestjs-pino": "^4.5.0",
|
|
37
36
|
"pino-http": "^10.4.0"
|
|
38
37
|
},
|
|
39
38
|
"devDependencies": {
|
|
39
|
+
"@iamnnort/config": "^2.0.2",
|
|
40
40
|
"@nestjs/common": "^11.1.0",
|
|
41
41
|
"@nestjs/core": "^11.1.0",
|
|
42
42
|
"@swc/core": "^1.15.11",
|