@iamnnort/nestjs-logger 1.1.9 → 1.1.11

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
@@ -3,6 +3,8 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
8
10
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,14 +18,9 @@ var __copyProps = (to, from, except, desc) => {
16
18
  return to;
17
19
  };
18
20
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __decorateClass = (decorators, target, key, kind) => {
20
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
21
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
22
- if (decorator = decorators[i])
23
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
24
- if (kind && result)
25
- __defProp(target, key, result);
26
- return result;
21
+ var __publicField = (obj, key, value) => {
22
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
23
+ return value;
27
24
  };
28
25
 
29
26
  // src/index.ts
@@ -42,20 +39,24 @@ var import_common3 = require("@nestjs/common");
42
39
  var import_common = require("@nestjs/common");
43
40
 
44
41
  // src/types.ts
45
- var LoggerContexts = /* @__PURE__ */ ((LoggerContexts2) => {
42
+ var LoggerContexts;
43
+ (function(LoggerContexts2) {
46
44
  LoggerContexts2["SYSTEM"] = "System";
47
45
  LoggerContexts2["INSTANCE_LOADER"] = "InstanceLoader";
48
46
  LoggerContexts2["ROUTER_EXPLORER"] = "RouterExplorer";
49
47
  LoggerContexts2["ROUTES_RESOLVER"] = "RoutesResolver";
50
48
  LoggerContexts2["NEST_FACTORY"] = "NestFactory";
51
49
  LoggerContexts2["NEST_APPLICATION"] = "NestApplication";
52
- return LoggerContexts2;
53
- })(LoggerContexts || {});
50
+ })(LoggerContexts || (LoggerContexts = {}));
54
51
 
55
52
  // src/message/builder.ts
56
53
  var import_qs = require("qs");
57
- var MessageBuilder = class {
54
+ var _MessageBuilder = class _MessageBuilder {
58
55
  constructor() {
56
+ __publicField(this, "printQueue");
57
+ __publicField(this, "request");
58
+ __publicField(this, "response");
59
+ __publicField(this, "error");
59
60
  this.printQueue = [];
60
61
  }
61
62
  setRequest(request) {
@@ -80,7 +81,10 @@ var MessageBuilder = class {
80
81
  if (url) {
81
82
  if (params) {
82
83
  delete params["0"];
83
- this.printQueue.push([url, (0, import_qs.stringify)(params)].filter((_) => _).join("?"));
84
+ this.printQueue.push([
85
+ url,
86
+ (0, import_qs.stringify)(params)
87
+ ].filter((_) => _).join("?"));
84
88
  } else {
85
89
  this.printQueue.push(url);
86
90
  }
@@ -137,29 +141,42 @@ var MessageBuilder = class {
137
141
  return this.printQueue.join(" ");
138
142
  }
139
143
  };
144
+ __name(_MessageBuilder, "MessageBuilder");
145
+ var MessageBuilder = _MessageBuilder;
140
146
 
141
147
  // src/service.ts
142
- var LoggerService = class extends import_common.ConsoleLogger {
148
+ function _ts_decorate(decorators, target, key, desc) {
149
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
150
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
151
+ r = Reflect.decorate(decorators, target, key, desc);
152
+ else
153
+ for (var i = decorators.length - 1; i >= 0; i--)
154
+ if (d = decorators[i])
155
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
156
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
157
+ }
158
+ __name(_ts_decorate, "_ts_decorate");
159
+ var _LoggerService = class _LoggerService extends import_common.ConsoleLogger {
143
160
  setContext(context) {
144
- super.setContext(context || "System" /* SYSTEM */);
161
+ super.setContext(context || LoggerContexts.SYSTEM);
145
162
  }
146
163
  log(message, context) {
147
164
  const ctx = context || this.context || "";
148
165
  const ctxBlacklist = [
149
- "InstanceLoader" /* INSTANCE_LOADER */,
150
- "RouterExplorer" /* ROUTER_EXPLORER */,
151
- "RoutesResolver" /* ROUTES_RESOLVER */
166
+ LoggerContexts.INSTANCE_LOADER,
167
+ LoggerContexts.ROUTER_EXPLORER,
168
+ LoggerContexts.ROUTES_RESOLVER
152
169
  ];
153
170
  if (ctxBlacklist.includes(ctx)) {
154
171
  return;
155
172
  }
156
173
  const ctxMessageMap = {
157
- ["NestFactory" /* NEST_FACTORY */]: "Application is starting...",
158
- ["NestApplication" /* NEST_APPLICATION */]: "Application started."
174
+ [LoggerContexts.NEST_FACTORY]: "Application is starting...",
175
+ [LoggerContexts.NEST_APPLICATION]: "Application started."
159
176
  };
160
177
  const ctxMessage = ctxMessageMap[ctx];
161
178
  if (ctxMessage) {
162
- return console.log(`[${"System" /* SYSTEM */}] ${ctxMessage}`);
179
+ return console.log(`[${LoggerContexts.SYSTEM}] ${ctxMessage}`);
163
180
  }
164
181
  return console.log(`[${ctx}] ${message}`);
165
182
  }
@@ -179,16 +196,31 @@ var LoggerService = class extends import_common.ConsoleLogger {
179
196
  return this.log(message);
180
197
  }
181
198
  };
182
- LoggerService = __decorateClass([
183
- (0, import_common.Injectable)()
199
+ __name(_LoggerService, "LoggerService");
200
+ var LoggerService = _LoggerService;
201
+ LoggerService = _ts_decorate([
202
+ (0, import_common.Injectable)({
203
+ scope: import_common.Scope.REQUEST
204
+ })
184
205
  ], LoggerService);
185
206
 
186
207
  // src/middleware.ts
187
208
  var import_common2 = require("@nestjs/common");
188
- var LoggerMiddleware = class {
209
+ function _ts_decorate2(decorators, target, key, desc) {
210
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
211
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
212
+ r = Reflect.decorate(decorators, target, key, desc);
213
+ else
214
+ for (var i = decorators.length - 1; i >= 0; i--)
215
+ if (d = decorators[i])
216
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
217
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
218
+ }
219
+ __name(_ts_decorate2, "_ts_decorate");
220
+ var _LoggerMiddleware = class _LoggerMiddleware {
189
221
  use(request, response, next) {
190
222
  const loggerService = new LoggerService();
191
- loggerService.setContext("System" /* SYSTEM */);
223
+ loggerService.setContext(LoggerContexts.SYSTEM);
192
224
  loggerService.logRequest(request);
193
225
  response.on("finish", () => {
194
226
  loggerService.logResponse(response);
@@ -196,21 +228,40 @@ var LoggerMiddleware = class {
196
228
  return next();
197
229
  }
198
230
  };
199
- LoggerMiddleware = __decorateClass([
231
+ __name(_LoggerMiddleware, "LoggerMiddleware");
232
+ var LoggerMiddleware = _LoggerMiddleware;
233
+ LoggerMiddleware = _ts_decorate2([
200
234
  (0, import_common2.Injectable)()
201
235
  ], LoggerMiddleware);
202
236
 
203
237
  // src/module.ts
204
- var LoggerModule = class {
238
+ function _ts_decorate3(decorators, target, key, desc) {
239
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
240
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
241
+ r = Reflect.decorate(decorators, target, key, desc);
242
+ else
243
+ for (var i = decorators.length - 1; i >= 0; i--)
244
+ if (d = decorators[i])
245
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
246
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
247
+ }
248
+ __name(_ts_decorate3, "_ts_decorate");
249
+ var _LoggerModule = class _LoggerModule {
205
250
  configure(consumer) {
206
251
  consumer.apply(LoggerMiddleware).forRoutes("*");
207
252
  }
208
253
  };
209
- LoggerModule = __decorateClass([
254
+ __name(_LoggerModule, "LoggerModule");
255
+ var LoggerModule = _LoggerModule;
256
+ LoggerModule = _ts_decorate3([
210
257
  (0, import_common3.Global)(),
211
258
  (0, import_common3.Module)({
212
- providers: [LoggerService],
213
- exports: [LoggerService]
259
+ providers: [
260
+ LoggerService
261
+ ],
262
+ exports: [
263
+ LoggerService
264
+ ]
214
265
  })
215
266
  ], LoggerModule);
216
267
  // Annotate the CommonJS export names for ESM import in node:
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/module.ts","../src/service.ts","../src/types.ts","../src/message/builder.ts","../src/middleware.ts"],"sourcesContent":["export * from './module';\nexport * from './service';\nexport * from './types';\n","import { Global, MiddlewareConsumer, Module, NestModule } from '@nestjs/common';\nimport { LoggerService } from './service';\nimport { LoggerMiddleware } from './middleware';\n\n@Global()\n@Module({\n providers: [LoggerService],\n exports: [LoggerService],\n})\nexport class LoggerModule implements NestModule {\n configure(consumer: MiddlewareConsumer) {\n consumer.apply(LoggerMiddleware).forRoutes('*');\n }\n}\n","import { ConsoleLogger, Injectable } from '@nestjs/common';\nimport { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { LoggerContexts } from './types';\nimport { Request, Response } from 'express';\nimport { MessageBuilder } from './message/builder';\n\n@Injectable()\nexport class LoggerService extends ConsoleLogger {\n setContext(context?: string) {\n super.setContext(context || LoggerContexts.SYSTEM);\n }\n\n log(message: string, context?: string) {\n const ctx = context || this.context || '';\n\n const ctxBlacklist: string[] = [\n LoggerContexts.INSTANCE_LOADER,\n LoggerContexts.ROUTER_EXPLORER,\n LoggerContexts.ROUTES_RESOLVER,\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 ctxMessage = ctxMessageMap[ctx];\n\n if (ctxMessage) {\n return console.log(`[${LoggerContexts.SYSTEM}] ${ctxMessage}`);\n }\n\n return console.log(`[${ctx}] ${message}`);\n }\n\n logRequest(request: InternalAxiosRequestConfig & Request) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setRequest(request)\n .makeType('Request')\n .makeMethod()\n .makeUrl()\n .makeRequestData()\n .build();\n\n return this.log(message);\n }\n\n logResponse(response: AxiosResponse & Response) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setResponse(response)\n .makeType('Response')\n .makeMethod()\n .makeUrl()\n .makeRequestData()\n .makeStatus()\n .makeResponseData()\n .build();\n\n return this.log(message);\n }\n\n logRequestError(error: AxiosError) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setError(error)\n .makeType('Error')\n .makeMethod()\n .makeUrl()\n .makeRequestData()\n .makeStatus()\n .makeResponseData()\n .build();\n\n return this.log(message);\n }\n}\n","export enum LoggerContexts {\n SYSTEM = 'System',\n INSTANCE_LOADER = 'InstanceLoader',\n ROUTER_EXPLORER = 'RouterExplorer',\n ROUTES_RESOLVER = 'RoutesResolver',\n NEST_FACTORY = 'NestFactory',\n NEST_APPLICATION = 'NestApplication',\n}\n","import { stringify } from 'qs';\nimport { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { Response, Request } from 'express';\n\nexport class MessageBuilder {\n private printQueue: string[];\n\n private request!: InternalAxiosRequestConfig & Request;\n private response!: AxiosResponse & Response;\n private error!: AxiosError;\n\n constructor() {\n this.printQueue = [];\n }\n\n setRequest(request: InternalAxiosRequestConfig & Request) {\n this.request = request;\n\n return this;\n }\n\n setResponse(response: AxiosResponse & Response) {\n this.response = response;\n\n return this;\n }\n\n setError(error: AxiosError) {\n this.error = error;\n\n return this;\n }\n\n makeType(type: string) {\n this.printQueue.push(`[${type}]`);\n\n return this;\n }\n\n makeUrl() {\n const url =\n this.request?.originalUrl ||\n this.response?.req?.originalUrl ||\n this.request?.url ||\n this.response?.config?.url ||\n this.error?.response?.config.url;\n\n const params = this.request?.params || this.response?.config?.params || this.error?.response?.config.params;\n\n if (url) {\n if (params) {\n delete params['0'];\n this.printQueue.push([url, stringify(params)].filter((_) => _).join('?'));\n } else {\n this.printQueue.push(url);\n }\n }\n\n return this;\n }\n\n makeMethod() {\n const method =\n this.request?.method ||\n this.response?.req?.method ||\n this.response?.config?.method ||\n this.error?.response?.config.method;\n\n if (method) {\n this.printQueue.push(method.toUpperCase());\n }\n\n return this;\n }\n\n makeRequestData() {\n const data =\n this.request?.body ||\n this.response?.req?.body ||\n this.request?.data ||\n this.response?.config?.data ||\n this.error?.response?.config.data;\n\n if (data) {\n if (typeof data === 'string') {\n this.printQueue.push(data);\n\n return this;\n }\n\n if (Object.keys(data).length) {\n this.printQueue.push(JSON.stringify(data));\n\n return this;\n }\n }\n\n return this;\n }\n\n makeResponseData() {\n const data = this.response?.data || this.error?.response?.data;\n\n if (data) {\n if (typeof data === 'string') {\n this.printQueue.push(data);\n\n return this;\n }\n\n if (Object.keys(data).length) {\n this.printQueue.push(JSON.stringify(data));\n\n return this;\n }\n }\n\n return this;\n }\n\n makeStatus() {\n const status = this.response?.statusCode || this.response?.status || this.error?.response?.status;\n\n if (status) {\n this.printQueue.push(`${status}`);\n\n const statusText = this.response?.statusMessage || this.response?.statusText || this.error?.response?.statusText;\n\n if (statusText) {\n this.printQueue.push(statusText);\n }\n }\n\n return this;\n }\n\n build() {\n return this.printQueue.join(' ');\n }\n}\n","import { Injectable, NestMiddleware } from '@nestjs/common';\nimport { Request, Response, NextFunction } from 'express';\nimport { LoggerContexts } from './types';\nimport { LoggerService } from './service';\n\n@Injectable()\nexport class LoggerMiddleware implements NestMiddleware {\n use(request: Request, response: Response, next: NextFunction) {\n const loggerService = new LoggerService();\n\n loggerService.setContext(LoggerContexts.SYSTEM);\n\n loggerService.logRequest(request as any);\n\n response.on('finish', () => {\n loggerService.logResponse(response as any);\n });\n\n return next();\n }\n}\n"],"mappings":"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","names":["import_common","LoggerContexts","import_common"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/module.ts","../src/service.ts","../src/types.ts","../src/message/builder.ts","../src/middleware.ts"],"sourcesContent":["export * from './module';\nexport * from './service';\nexport * from './types';\n","import { Global, MiddlewareConsumer, Module, NestModule } from '@nestjs/common';\nimport { LoggerService } from './service';\nimport { LoggerMiddleware } from './middleware';\n\n@Global()\n@Module({\n providers: [LoggerService],\n exports: [LoggerService],\n})\nexport class LoggerModule implements NestModule {\n configure(consumer: MiddlewareConsumer) {\n consumer.apply(LoggerMiddleware).forRoutes('*');\n }\n}\n","import { ConsoleLogger, Injectable, Scope } from '@nestjs/common';\nimport { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { LoggerContexts } from './types';\nimport { Request, Response } from 'express';\nimport { MessageBuilder } from './message/builder';\n\n@Injectable({\n scope: Scope.REQUEST,\n})\nexport class LoggerService extends ConsoleLogger {\n setContext(context?: string) {\n super.setContext(context || LoggerContexts.SYSTEM);\n }\n\n log(message: string, context?: string) {\n const ctx = context || this.context || '';\n\n const ctxBlacklist: string[] = [\n LoggerContexts.INSTANCE_LOADER,\n LoggerContexts.ROUTER_EXPLORER,\n LoggerContexts.ROUTES_RESOLVER,\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 ctxMessage = ctxMessageMap[ctx];\n\n if (ctxMessage) {\n return console.log(`[${LoggerContexts.SYSTEM}] ${ctxMessage}`);\n }\n\n return console.log(`[${ctx}] ${message}`);\n }\n\n logRequest(request: InternalAxiosRequestConfig & Request) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setRequest(request)\n .makeType('Request')\n .makeMethod()\n .makeUrl()\n .makeRequestData()\n .build();\n\n return this.log(message);\n }\n\n logResponse(response: AxiosResponse & Response) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setResponse(response)\n .makeType('Response')\n .makeMethod()\n .makeUrl()\n .makeRequestData()\n .makeStatus()\n .makeResponseData()\n .build();\n\n return this.log(message);\n }\n\n logRequestError(error: AxiosError) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setError(error)\n .makeType('Error')\n .makeMethod()\n .makeUrl()\n .makeRequestData()\n .makeStatus()\n .makeResponseData()\n .build();\n\n return this.log(message);\n }\n}\n","export enum LoggerContexts {\n SYSTEM = 'System',\n INSTANCE_LOADER = 'InstanceLoader',\n ROUTER_EXPLORER = 'RouterExplorer',\n ROUTES_RESOLVER = 'RoutesResolver',\n NEST_FACTORY = 'NestFactory',\n NEST_APPLICATION = 'NestApplication',\n}\n","import { stringify } from 'qs';\nimport { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { Response, Request } from 'express';\n\nexport class MessageBuilder {\n private printQueue: string[];\n\n private request!: InternalAxiosRequestConfig & Request;\n private response!: AxiosResponse & Response;\n private error!: AxiosError;\n\n constructor() {\n this.printQueue = [];\n }\n\n setRequest(request: InternalAxiosRequestConfig & Request) {\n this.request = request;\n\n return this;\n }\n\n setResponse(response: AxiosResponse & Response) {\n this.response = response;\n\n return this;\n }\n\n setError(error: AxiosError) {\n this.error = error;\n\n return this;\n }\n\n makeType(type: string) {\n this.printQueue.push(`[${type}]`);\n\n return this;\n }\n\n makeUrl() {\n const url =\n this.request?.originalUrl ||\n this.response?.req?.originalUrl ||\n this.request?.url ||\n this.response?.config?.url ||\n this.error?.response?.config.url;\n\n const params = this.request?.params || this.response?.config?.params || this.error?.response?.config.params;\n\n if (url) {\n if (params) {\n delete params['0'];\n this.printQueue.push([url, stringify(params)].filter((_) => _).join('?'));\n } else {\n this.printQueue.push(url);\n }\n }\n\n return this;\n }\n\n makeMethod() {\n const method =\n this.request?.method ||\n this.response?.req?.method ||\n this.response?.config?.method ||\n this.error?.response?.config.method;\n\n if (method) {\n this.printQueue.push(method.toUpperCase());\n }\n\n return this;\n }\n\n makeRequestData() {\n const data =\n this.request?.body ||\n this.response?.req?.body ||\n this.request?.data ||\n this.response?.config?.data ||\n this.error?.response?.config.data;\n\n if (data) {\n if (typeof data === 'string') {\n this.printQueue.push(data);\n\n return this;\n }\n\n if (Object.keys(data).length) {\n this.printQueue.push(JSON.stringify(data));\n\n return this;\n }\n }\n\n return this;\n }\n\n makeResponseData() {\n const data = this.response?.data || this.error?.response?.data;\n\n if (data) {\n if (typeof data === 'string') {\n this.printQueue.push(data);\n\n return this;\n }\n\n if (Object.keys(data).length) {\n this.printQueue.push(JSON.stringify(data));\n\n return this;\n }\n }\n\n return this;\n }\n\n makeStatus() {\n const status = this.response?.statusCode || this.response?.status || this.error?.response?.status;\n\n if (status) {\n this.printQueue.push(`${status}`);\n\n const statusText = this.response?.statusMessage || this.response?.statusText || this.error?.response?.statusText;\n\n if (statusText) {\n this.printQueue.push(statusText);\n }\n }\n\n return this;\n }\n\n build() {\n return this.printQueue.join(' ');\n }\n}\n","import { Injectable, NestMiddleware } from '@nestjs/common';\nimport { Request, Response, NextFunction } from 'express';\nimport { LoggerContexts } from './types';\nimport { LoggerService } from './service';\n\n@Injectable()\nexport class LoggerMiddleware implements NestMiddleware {\n use(request: Request, response: Response, next: NextFunction) {\n const loggerService = new LoggerService();\n\n loggerService.setContext(LoggerContexts.SYSTEM);\n\n loggerService.logRequest(request as any);\n\n response.on('finish', () => {\n loggerService.logResponse(response as any);\n });\n\n return next();\n }\n}\n"],"mappings":"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","names":["import_common","LoggerContexts","MessageBuilder","constructor","printQueue","request","response","error","setRequest","setResponse","setError","makeType","type","push","makeUrl","url","originalUrl","req","config","params","stringify","filter","_","join","makeMethod","method","toUpperCase","makeRequestData","data","body","Object","keys","length","JSON","makeResponseData","makeStatus","status","statusCode","statusText","statusMessage","build","LoggerService","ConsoleLogger","setContext","context","LoggerContexts","SYSTEM","log","message","ctx","ctxBlacklist","INSTANCE_LOADER","ROUTER_EXPLORER","ROUTES_RESOLVER","includes","ctxMessageMap","NEST_FACTORY","NEST_APPLICATION","ctxMessage","console","logRequest","request","loggerMessageBuilder","MessageBuilder","setRequest","makeType","makeMethod","makeUrl","makeRequestData","build","logResponse","response","setResponse","makeStatus","makeResponseData","logRequestError","error","setError","Injectable","scope","Scope","REQUEST","import_common","LoggerMiddleware","use","request","response","next","loggerService","LoggerService","setContext","LoggerContexts","SYSTEM","logRequest","on","logResponse","Injectable","LoggerModule","configure","consumer","apply","LoggerMiddleware","forRoutes","Global","Module","providers","LoggerService","exports"]}
package/dist/index.mjs CHANGED
@@ -1,36 +1,36 @@
1
1
  var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __decorateClass = (decorators, target, key, kind) => {
4
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
5
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
6
- if (decorator = decorators[i])
7
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8
- if (kind && result)
9
- __defProp(target, key, result);
10
- return result;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
4
+ var __publicField = (obj, key, value) => {
5
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
+ return value;
11
7
  };
12
8
 
13
9
  // src/module.ts
14
10
  import { Global, Module } from "@nestjs/common";
15
11
 
16
12
  // src/service.ts
17
- import { ConsoleLogger, Injectable } from "@nestjs/common";
13
+ import { ConsoleLogger, Injectable, Scope } from "@nestjs/common";
18
14
 
19
15
  // src/types.ts
20
- var LoggerContexts = /* @__PURE__ */ ((LoggerContexts2) => {
16
+ var LoggerContexts;
17
+ (function(LoggerContexts2) {
21
18
  LoggerContexts2["SYSTEM"] = "System";
22
19
  LoggerContexts2["INSTANCE_LOADER"] = "InstanceLoader";
23
20
  LoggerContexts2["ROUTER_EXPLORER"] = "RouterExplorer";
24
21
  LoggerContexts2["ROUTES_RESOLVER"] = "RoutesResolver";
25
22
  LoggerContexts2["NEST_FACTORY"] = "NestFactory";
26
23
  LoggerContexts2["NEST_APPLICATION"] = "NestApplication";
27
- return LoggerContexts2;
28
- })(LoggerContexts || {});
24
+ })(LoggerContexts || (LoggerContexts = {}));
29
25
 
30
26
  // src/message/builder.ts
31
27
  import { stringify } from "qs";
32
- var MessageBuilder = class {
28
+ var _MessageBuilder = class _MessageBuilder {
33
29
  constructor() {
30
+ __publicField(this, "printQueue");
31
+ __publicField(this, "request");
32
+ __publicField(this, "response");
33
+ __publicField(this, "error");
34
34
  this.printQueue = [];
35
35
  }
36
36
  setRequest(request) {
@@ -55,7 +55,10 @@ var MessageBuilder = class {
55
55
  if (url) {
56
56
  if (params) {
57
57
  delete params["0"];
58
- this.printQueue.push([url, stringify(params)].filter((_) => _).join("?"));
58
+ this.printQueue.push([
59
+ url,
60
+ stringify(params)
61
+ ].filter((_) => _).join("?"));
59
62
  } else {
60
63
  this.printQueue.push(url);
61
64
  }
@@ -112,29 +115,42 @@ var MessageBuilder = class {
112
115
  return this.printQueue.join(" ");
113
116
  }
114
117
  };
118
+ __name(_MessageBuilder, "MessageBuilder");
119
+ var MessageBuilder = _MessageBuilder;
115
120
 
116
121
  // src/service.ts
117
- var LoggerService = class extends ConsoleLogger {
122
+ function _ts_decorate(decorators, target, key, desc) {
123
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
124
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
125
+ r = Reflect.decorate(decorators, target, key, desc);
126
+ else
127
+ for (var i = decorators.length - 1; i >= 0; i--)
128
+ if (d = decorators[i])
129
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
130
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
131
+ }
132
+ __name(_ts_decorate, "_ts_decorate");
133
+ var _LoggerService = class _LoggerService extends ConsoleLogger {
118
134
  setContext(context) {
119
- super.setContext(context || "System" /* SYSTEM */);
135
+ super.setContext(context || LoggerContexts.SYSTEM);
120
136
  }
121
137
  log(message, context) {
122
138
  const ctx = context || this.context || "";
123
139
  const ctxBlacklist = [
124
- "InstanceLoader" /* INSTANCE_LOADER */,
125
- "RouterExplorer" /* ROUTER_EXPLORER */,
126
- "RoutesResolver" /* ROUTES_RESOLVER */
140
+ LoggerContexts.INSTANCE_LOADER,
141
+ LoggerContexts.ROUTER_EXPLORER,
142
+ LoggerContexts.ROUTES_RESOLVER
127
143
  ];
128
144
  if (ctxBlacklist.includes(ctx)) {
129
145
  return;
130
146
  }
131
147
  const ctxMessageMap = {
132
- ["NestFactory" /* NEST_FACTORY */]: "Application is starting...",
133
- ["NestApplication" /* NEST_APPLICATION */]: "Application started."
148
+ [LoggerContexts.NEST_FACTORY]: "Application is starting...",
149
+ [LoggerContexts.NEST_APPLICATION]: "Application started."
134
150
  };
135
151
  const ctxMessage = ctxMessageMap[ctx];
136
152
  if (ctxMessage) {
137
- return console.log(`[${"System" /* SYSTEM */}] ${ctxMessage}`);
153
+ return console.log(`[${LoggerContexts.SYSTEM}] ${ctxMessage}`);
138
154
  }
139
155
  return console.log(`[${ctx}] ${message}`);
140
156
  }
@@ -154,16 +170,31 @@ var LoggerService = class extends ConsoleLogger {
154
170
  return this.log(message);
155
171
  }
156
172
  };
157
- LoggerService = __decorateClass([
158
- Injectable()
173
+ __name(_LoggerService, "LoggerService");
174
+ var LoggerService = _LoggerService;
175
+ LoggerService = _ts_decorate([
176
+ Injectable({
177
+ scope: Scope.REQUEST
178
+ })
159
179
  ], LoggerService);
160
180
 
161
181
  // src/middleware.ts
162
182
  import { Injectable as Injectable2 } from "@nestjs/common";
163
- var LoggerMiddleware = class {
183
+ function _ts_decorate2(decorators, target, key, desc) {
184
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
185
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
186
+ r = Reflect.decorate(decorators, target, key, desc);
187
+ else
188
+ for (var i = decorators.length - 1; i >= 0; i--)
189
+ if (d = decorators[i])
190
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
191
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
192
+ }
193
+ __name(_ts_decorate2, "_ts_decorate");
194
+ var _LoggerMiddleware = class _LoggerMiddleware {
164
195
  use(request, response, next) {
165
196
  const loggerService = new LoggerService();
166
- loggerService.setContext("System" /* SYSTEM */);
197
+ loggerService.setContext(LoggerContexts.SYSTEM);
167
198
  loggerService.logRequest(request);
168
199
  response.on("finish", () => {
169
200
  loggerService.logResponse(response);
@@ -171,21 +202,40 @@ var LoggerMiddleware = class {
171
202
  return next();
172
203
  }
173
204
  };
174
- LoggerMiddleware = __decorateClass([
205
+ __name(_LoggerMiddleware, "LoggerMiddleware");
206
+ var LoggerMiddleware = _LoggerMiddleware;
207
+ LoggerMiddleware = _ts_decorate2([
175
208
  Injectable2()
176
209
  ], LoggerMiddleware);
177
210
 
178
211
  // src/module.ts
179
- var LoggerModule = class {
212
+ function _ts_decorate3(decorators, target, key, desc) {
213
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
214
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
215
+ r = Reflect.decorate(decorators, target, key, desc);
216
+ else
217
+ for (var i = decorators.length - 1; i >= 0; i--)
218
+ if (d = decorators[i])
219
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
220
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
221
+ }
222
+ __name(_ts_decorate3, "_ts_decorate");
223
+ var _LoggerModule = class _LoggerModule {
180
224
  configure(consumer) {
181
225
  consumer.apply(LoggerMiddleware).forRoutes("*");
182
226
  }
183
227
  };
184
- LoggerModule = __decorateClass([
228
+ __name(_LoggerModule, "LoggerModule");
229
+ var LoggerModule = _LoggerModule;
230
+ LoggerModule = _ts_decorate3([
185
231
  Global(),
186
232
  Module({
187
- providers: [LoggerService],
188
- exports: [LoggerService]
233
+ providers: [
234
+ LoggerService
235
+ ],
236
+ exports: [
237
+ LoggerService
238
+ ]
189
239
  })
190
240
  ], LoggerModule);
191
241
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/module.ts","../src/service.ts","../src/types.ts","../src/message/builder.ts","../src/middleware.ts"],"sourcesContent":["import { Global, MiddlewareConsumer, Module, NestModule } from '@nestjs/common';\nimport { LoggerService } from './service';\nimport { LoggerMiddleware } from './middleware';\n\n@Global()\n@Module({\n providers: [LoggerService],\n exports: [LoggerService],\n})\nexport class LoggerModule implements NestModule {\n configure(consumer: MiddlewareConsumer) {\n consumer.apply(LoggerMiddleware).forRoutes('*');\n }\n}\n","import { ConsoleLogger, Injectable } from '@nestjs/common';\nimport { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { LoggerContexts } from './types';\nimport { Request, Response } from 'express';\nimport { MessageBuilder } from './message/builder';\n\n@Injectable()\nexport class LoggerService extends ConsoleLogger {\n setContext(context?: string) {\n super.setContext(context || LoggerContexts.SYSTEM);\n }\n\n log(message: string, context?: string) {\n const ctx = context || this.context || '';\n\n const ctxBlacklist: string[] = [\n LoggerContexts.INSTANCE_LOADER,\n LoggerContexts.ROUTER_EXPLORER,\n LoggerContexts.ROUTES_RESOLVER,\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 ctxMessage = ctxMessageMap[ctx];\n\n if (ctxMessage) {\n return console.log(`[${LoggerContexts.SYSTEM}] ${ctxMessage}`);\n }\n\n return console.log(`[${ctx}] ${message}`);\n }\n\n logRequest(request: InternalAxiosRequestConfig & Request) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setRequest(request)\n .makeType('Request')\n .makeMethod()\n .makeUrl()\n .makeRequestData()\n .build();\n\n return this.log(message);\n }\n\n logResponse(response: AxiosResponse & Response) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setResponse(response)\n .makeType('Response')\n .makeMethod()\n .makeUrl()\n .makeRequestData()\n .makeStatus()\n .makeResponseData()\n .build();\n\n return this.log(message);\n }\n\n logRequestError(error: AxiosError) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setError(error)\n .makeType('Error')\n .makeMethod()\n .makeUrl()\n .makeRequestData()\n .makeStatus()\n .makeResponseData()\n .build();\n\n return this.log(message);\n }\n}\n","export enum LoggerContexts {\n SYSTEM = 'System',\n INSTANCE_LOADER = 'InstanceLoader',\n ROUTER_EXPLORER = 'RouterExplorer',\n ROUTES_RESOLVER = 'RoutesResolver',\n NEST_FACTORY = 'NestFactory',\n NEST_APPLICATION = 'NestApplication',\n}\n","import { stringify } from 'qs';\nimport { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { Response, Request } from 'express';\n\nexport class MessageBuilder {\n private printQueue: string[];\n\n private request!: InternalAxiosRequestConfig & Request;\n private response!: AxiosResponse & Response;\n private error!: AxiosError;\n\n constructor() {\n this.printQueue = [];\n }\n\n setRequest(request: InternalAxiosRequestConfig & Request) {\n this.request = request;\n\n return this;\n }\n\n setResponse(response: AxiosResponse & Response) {\n this.response = response;\n\n return this;\n }\n\n setError(error: AxiosError) {\n this.error = error;\n\n return this;\n }\n\n makeType(type: string) {\n this.printQueue.push(`[${type}]`);\n\n return this;\n }\n\n makeUrl() {\n const url =\n this.request?.originalUrl ||\n this.response?.req?.originalUrl ||\n this.request?.url ||\n this.response?.config?.url ||\n this.error?.response?.config.url;\n\n const params = this.request?.params || this.response?.config?.params || this.error?.response?.config.params;\n\n if (url) {\n if (params) {\n delete params['0'];\n this.printQueue.push([url, stringify(params)].filter((_) => _).join('?'));\n } else {\n this.printQueue.push(url);\n }\n }\n\n return this;\n }\n\n makeMethod() {\n const method =\n this.request?.method ||\n this.response?.req?.method ||\n this.response?.config?.method ||\n this.error?.response?.config.method;\n\n if (method) {\n this.printQueue.push(method.toUpperCase());\n }\n\n return this;\n }\n\n makeRequestData() {\n const data =\n this.request?.body ||\n this.response?.req?.body ||\n this.request?.data ||\n this.response?.config?.data ||\n this.error?.response?.config.data;\n\n if (data) {\n if (typeof data === 'string') {\n this.printQueue.push(data);\n\n return this;\n }\n\n if (Object.keys(data).length) {\n this.printQueue.push(JSON.stringify(data));\n\n return this;\n }\n }\n\n return this;\n }\n\n makeResponseData() {\n const data = this.response?.data || this.error?.response?.data;\n\n if (data) {\n if (typeof data === 'string') {\n this.printQueue.push(data);\n\n return this;\n }\n\n if (Object.keys(data).length) {\n this.printQueue.push(JSON.stringify(data));\n\n return this;\n }\n }\n\n return this;\n }\n\n makeStatus() {\n const status = this.response?.statusCode || this.response?.status || this.error?.response?.status;\n\n if (status) {\n this.printQueue.push(`${status}`);\n\n const statusText = this.response?.statusMessage || this.response?.statusText || this.error?.response?.statusText;\n\n if (statusText) {\n this.printQueue.push(statusText);\n }\n }\n\n return this;\n }\n\n build() {\n return this.printQueue.join(' ');\n }\n}\n","import { Injectable, NestMiddleware } from '@nestjs/common';\nimport { Request, Response, NextFunction } from 'express';\nimport { LoggerContexts } from './types';\nimport { LoggerService } from './service';\n\n@Injectable()\nexport class LoggerMiddleware implements NestMiddleware {\n use(request: Request, response: Response, next: NextFunction) {\n const loggerService = new LoggerService();\n\n loggerService.setContext(LoggerContexts.SYSTEM);\n\n loggerService.logRequest(request as any);\n\n response.on('finish', () => {\n loggerService.logResponse(response as any);\n });\n\n return next();\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,SAAS,QAA4B,cAA0B;;;ACA/D,SAAS,eAAe,kBAAkB;;;ACAnC,IAAK,iBAAL,kBAAKA,oBAAL;AACL,EAAAA,gBAAA,YAAS;AACT,EAAAA,gBAAA,qBAAkB;AAClB,EAAAA,gBAAA,qBAAkB;AAClB,EAAAA,gBAAA,qBAAkB;AAClB,EAAAA,gBAAA,kBAAe;AACf,EAAAA,gBAAA,sBAAmB;AANT,SAAAA;AAAA,GAAA;;;ACAZ,SAAS,iBAAiB;AAInB,IAAM,iBAAN,MAAqB;AAAA,EAO1B,cAAc;AACZ,SAAK,aAAa,CAAC;AAAA,EACrB;AAAA,EAEA,WAAW,SAA+C;AACxD,SAAK,UAAU;AAEf,WAAO;AAAA,EACT;AAAA,EAEA,YAAY,UAAoC;AAC9C,SAAK,WAAW;AAEhB,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,OAAmB;AAC1B,SAAK,QAAQ;AAEb,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,MAAc;AACrB,SAAK,WAAW,KAAK,IAAI,IAAI,GAAG;AAEhC,WAAO;AAAA,EACT;AAAA,EAEA,UAAU;AACR,UAAM,MACJ,KAAK,SAAS,eACd,KAAK,UAAU,KAAK,eACpB,KAAK,SAAS,OACd,KAAK,UAAU,QAAQ,OACvB,KAAK,OAAO,UAAU,OAAO;AAE/B,UAAM,SAAS,KAAK,SAAS,UAAU,KAAK,UAAU,QAAQ,UAAU,KAAK,OAAO,UAAU,OAAO;AAErG,QAAI,KAAK;AACP,UAAI,QAAQ;AACV,eAAO,OAAO,GAAG;AACjB,aAAK,WAAW,KAAK,CAAC,KAAK,UAAU,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC;AAAA,MAC1E,OAAO;AACL,aAAK,WAAW,KAAK,GAAG;AAAA,MAC1B;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,aAAa;AACX,UAAM,SACJ,KAAK,SAAS,UACd,KAAK,UAAU,KAAK,UACpB,KAAK,UAAU,QAAQ,UACvB,KAAK,OAAO,UAAU,OAAO;AAE/B,QAAI,QAAQ;AACV,WAAK,WAAW,KAAK,OAAO,YAAY,CAAC;AAAA,IAC3C;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,kBAAkB;AAChB,UAAM,OACJ,KAAK,SAAS,QACd,KAAK,UAAU,KAAK,QACpB,KAAK,SAAS,QACd,KAAK,UAAU,QAAQ,QACvB,KAAK,OAAO,UAAU,OAAO;AAE/B,QAAI,MAAM;AACR,UAAI,OAAO,SAAS,UAAU;AAC5B,aAAK,WAAW,KAAK,IAAI;AAEzB,eAAO;AAAA,MACT;AAEA,UAAI,OAAO,KAAK,IAAI,EAAE,QAAQ;AAC5B,aAAK,WAAW,KAAK,KAAK,UAAU,IAAI,CAAC;AAEzC,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,mBAAmB;AACjB,UAAM,OAAO,KAAK,UAAU,QAAQ,KAAK,OAAO,UAAU;AAE1D,QAAI,MAAM;AACR,UAAI,OAAO,SAAS,UAAU;AAC5B,aAAK,WAAW,KAAK,IAAI;AAEzB,eAAO;AAAA,MACT;AAEA,UAAI,OAAO,KAAK,IAAI,EAAE,QAAQ;AAC5B,aAAK,WAAW,KAAK,KAAK,UAAU,IAAI,CAAC;AAEzC,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,aAAa;AACX,UAAM,SAAS,KAAK,UAAU,cAAc,KAAK,UAAU,UAAU,KAAK,OAAO,UAAU;AAE3F,QAAI,QAAQ;AACV,WAAK,WAAW,KAAK,GAAG,MAAM,EAAE;AAEhC,YAAM,aAAa,KAAK,UAAU,iBAAiB,KAAK,UAAU,cAAc,KAAK,OAAO,UAAU;AAEtG,UAAI,YAAY;AACd,aAAK,WAAW,KAAK,UAAU;AAAA,MACjC;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,QAAQ;AACN,WAAO,KAAK,WAAW,KAAK,GAAG;AAAA,EACjC;AACF;;;AFpIO,IAAM,gBAAN,cAA4B,cAAc;AAAA,EAC/C,WAAW,SAAkB;AAC3B,UAAM,WAAW,gCAAgC;AAAA,EACnD;AAAA,EAEA,IAAI,SAAiB,SAAkB;AACrC,UAAM,MAAM,WAAW,KAAK,WAAW;AAEvC,UAAM,eAAyB;AAAA;AAAA;AAAA;AAAA,IAI/B;AAEA,QAAI,aAAa,SAAS,GAAG,GAAG;AAC9B;AAAA,IACF;AAEA,UAAM,gBAAwC;AAAA,MAC5C,iCAA4B,GAAG;AAAA,MAC/B,yCAAgC,GAAG;AAAA,IACrC;AAEA,UAAM,aAAa,cAAc,GAAG;AAEpC,QAAI,YAAY;AACd,aAAO,QAAQ,IAAI,yBAAyB,KAAK,UAAU,EAAE;AAAA,IAC/D;AAEA,WAAO,QAAQ,IAAI,IAAI,GAAG,KAAK,OAAO,EAAE;AAAA,EAC1C;AAAA,EAEA,WAAW,SAA+C;AACxD,UAAM,uBAAuB,IAAI,eAAe;AAEhD,UAAM,UAAU,qBACb,WAAW,OAAO,EAClB,SAAS,SAAS,EAClB,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,MAAM;AAET,WAAO,KAAK,IAAI,OAAO;AAAA,EACzB;AAAA,EAEA,YAAY,UAAoC;AAC9C,UAAM,uBAAuB,IAAI,eAAe;AAEhD,UAAM,UAAU,qBACb,YAAY,QAAQ,EACpB,SAAS,UAAU,EACnB,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,MAAM;AAET,WAAO,KAAK,IAAI,OAAO;AAAA,EACzB;AAAA,EAEA,gBAAgB,OAAmB;AACjC,UAAM,uBAAuB,IAAI,eAAe;AAEhD,UAAM,UAAU,qBACb,SAAS,KAAK,EACd,SAAS,OAAO,EAChB,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,MAAM;AAET,WAAO,KAAK,IAAI,OAAO;AAAA,EACzB;AACF;AA7Ea,gBAAN;AAAA,EADN,WAAW;AAAA,GACC;;;AGPb,SAAS,cAAAC,mBAAkC;AAMpC,IAAM,mBAAN,MAAiD;AAAA,EACtD,IAAI,SAAkB,UAAoB,MAAoB;AAC5D,UAAM,gBAAgB,IAAI,cAAc;AAExC,kBAAc,gCAAgC;AAE9C,kBAAc,WAAW,OAAc;AAEvC,aAAS,GAAG,UAAU,MAAM;AAC1B,oBAAc,YAAY,QAAe;AAAA,IAC3C,CAAC;AAED,WAAO,KAAK;AAAA,EACd;AACF;AAda,mBAAN;AAAA,EADNC,YAAW;AAAA,GACC;;;AJGN,IAAM,eAAN,MAAyC;AAAA,EAC9C,UAAU,UAA8B;AACtC,aAAS,MAAM,gBAAgB,EAAE,UAAU,GAAG;AAAA,EAChD;AACF;AAJa,eAAN;AAAA,EALN,OAAO;AAAA,EACP,OAAO;AAAA,IACN,WAAW,CAAC,aAAa;AAAA,IACzB,SAAS,CAAC,aAAa;AAAA,EACzB,CAAC;AAAA,GACY;","names":["LoggerContexts","Injectable","Injectable"]}
1
+ {"version":3,"sources":["../src/module.ts","../src/service.ts","../src/types.ts","../src/message/builder.ts","../src/middleware.ts"],"sourcesContent":["import { Global, MiddlewareConsumer, Module, NestModule } from '@nestjs/common';\nimport { LoggerService } from './service';\nimport { LoggerMiddleware } from './middleware';\n\n@Global()\n@Module({\n providers: [LoggerService],\n exports: [LoggerService],\n})\nexport class LoggerModule implements NestModule {\n configure(consumer: MiddlewareConsumer) {\n consumer.apply(LoggerMiddleware).forRoutes('*');\n }\n}\n","import { ConsoleLogger, Injectable, Scope } from '@nestjs/common';\nimport { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { LoggerContexts } from './types';\nimport { Request, Response } from 'express';\nimport { MessageBuilder } from './message/builder';\n\n@Injectable({\n scope: Scope.REQUEST,\n})\nexport class LoggerService extends ConsoleLogger {\n setContext(context?: string) {\n super.setContext(context || LoggerContexts.SYSTEM);\n }\n\n log(message: string, context?: string) {\n const ctx = context || this.context || '';\n\n const ctxBlacklist: string[] = [\n LoggerContexts.INSTANCE_LOADER,\n LoggerContexts.ROUTER_EXPLORER,\n LoggerContexts.ROUTES_RESOLVER,\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 ctxMessage = ctxMessageMap[ctx];\n\n if (ctxMessage) {\n return console.log(`[${LoggerContexts.SYSTEM}] ${ctxMessage}`);\n }\n\n return console.log(`[${ctx}] ${message}`);\n }\n\n logRequest(request: InternalAxiosRequestConfig & Request) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setRequest(request)\n .makeType('Request')\n .makeMethod()\n .makeUrl()\n .makeRequestData()\n .build();\n\n return this.log(message);\n }\n\n logResponse(response: AxiosResponse & Response) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setResponse(response)\n .makeType('Response')\n .makeMethod()\n .makeUrl()\n .makeRequestData()\n .makeStatus()\n .makeResponseData()\n .build();\n\n return this.log(message);\n }\n\n logRequestError(error: AxiosError) {\n const loggerMessageBuilder = new MessageBuilder();\n\n const message = loggerMessageBuilder\n .setError(error)\n .makeType('Error')\n .makeMethod()\n .makeUrl()\n .makeRequestData()\n .makeStatus()\n .makeResponseData()\n .build();\n\n return this.log(message);\n }\n}\n","export enum LoggerContexts {\n SYSTEM = 'System',\n INSTANCE_LOADER = 'InstanceLoader',\n ROUTER_EXPLORER = 'RouterExplorer',\n ROUTES_RESOLVER = 'RoutesResolver',\n NEST_FACTORY = 'NestFactory',\n NEST_APPLICATION = 'NestApplication',\n}\n","import { stringify } from 'qs';\nimport { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { Response, Request } from 'express';\n\nexport class MessageBuilder {\n private printQueue: string[];\n\n private request!: InternalAxiosRequestConfig & Request;\n private response!: AxiosResponse & Response;\n private error!: AxiosError;\n\n constructor() {\n this.printQueue = [];\n }\n\n setRequest(request: InternalAxiosRequestConfig & Request) {\n this.request = request;\n\n return this;\n }\n\n setResponse(response: AxiosResponse & Response) {\n this.response = response;\n\n return this;\n }\n\n setError(error: AxiosError) {\n this.error = error;\n\n return this;\n }\n\n makeType(type: string) {\n this.printQueue.push(`[${type}]`);\n\n return this;\n }\n\n makeUrl() {\n const url =\n this.request?.originalUrl ||\n this.response?.req?.originalUrl ||\n this.request?.url ||\n this.response?.config?.url ||\n this.error?.response?.config.url;\n\n const params = this.request?.params || this.response?.config?.params || this.error?.response?.config.params;\n\n if (url) {\n if (params) {\n delete params['0'];\n this.printQueue.push([url, stringify(params)].filter((_) => _).join('?'));\n } else {\n this.printQueue.push(url);\n }\n }\n\n return this;\n }\n\n makeMethod() {\n const method =\n this.request?.method ||\n this.response?.req?.method ||\n this.response?.config?.method ||\n this.error?.response?.config.method;\n\n if (method) {\n this.printQueue.push(method.toUpperCase());\n }\n\n return this;\n }\n\n makeRequestData() {\n const data =\n this.request?.body ||\n this.response?.req?.body ||\n this.request?.data ||\n this.response?.config?.data ||\n this.error?.response?.config.data;\n\n if (data) {\n if (typeof data === 'string') {\n this.printQueue.push(data);\n\n return this;\n }\n\n if (Object.keys(data).length) {\n this.printQueue.push(JSON.stringify(data));\n\n return this;\n }\n }\n\n return this;\n }\n\n makeResponseData() {\n const data = this.response?.data || this.error?.response?.data;\n\n if (data) {\n if (typeof data === 'string') {\n this.printQueue.push(data);\n\n return this;\n }\n\n if (Object.keys(data).length) {\n this.printQueue.push(JSON.stringify(data));\n\n return this;\n }\n }\n\n return this;\n }\n\n makeStatus() {\n const status = this.response?.statusCode || this.response?.status || this.error?.response?.status;\n\n if (status) {\n this.printQueue.push(`${status}`);\n\n const statusText = this.response?.statusMessage || this.response?.statusText || this.error?.response?.statusText;\n\n if (statusText) {\n this.printQueue.push(statusText);\n }\n }\n\n return this;\n }\n\n build() {\n return this.printQueue.join(' ');\n }\n}\n","import { Injectable, NestMiddleware } from '@nestjs/common';\nimport { Request, Response, NextFunction } from 'express';\nimport { LoggerContexts } from './types';\nimport { LoggerService } from './service';\n\n@Injectable()\nexport class LoggerMiddleware implements NestMiddleware {\n use(request: Request, response: Response, next: NextFunction) {\n const loggerService = new LoggerService();\n\n loggerService.setContext(LoggerContexts.SYSTEM);\n\n loggerService.logRequest(request as any);\n\n response.on('finish', () => {\n loggerService.logResponse(response as any);\n });\n\n return next();\n }\n}\n"],"mappings":"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","names":["Global","Module","ConsoleLogger","Injectable","Scope","LoggerContexts","stringify","MessageBuilder","constructor","printQueue","request","response","error","setRequest","setResponse","setError","makeType","type","push","makeUrl","url","originalUrl","req","config","params","stringify","filter","_","join","makeMethod","method","toUpperCase","makeRequestData","data","body","Object","keys","length","JSON","makeResponseData","makeStatus","status","statusCode","statusText","statusMessage","build","LoggerService","ConsoleLogger","setContext","context","LoggerContexts","SYSTEM","log","message","ctx","ctxBlacklist","INSTANCE_LOADER","ROUTER_EXPLORER","ROUTES_RESOLVER","includes","ctxMessageMap","NEST_FACTORY","NEST_APPLICATION","ctxMessage","console","logRequest","request","loggerMessageBuilder","MessageBuilder","setRequest","makeType","makeMethod","makeUrl","makeRequestData","build","logResponse","response","setResponse","makeStatus","makeResponseData","logRequestError","error","setError","Injectable","scope","Scope","REQUEST","Injectable","LoggerMiddleware","use","request","response","next","loggerService","LoggerService","setContext","LoggerContexts","SYSTEM","logRequest","on","logResponse","Injectable","LoggerModule","configure","consumer","apply","LoggerMiddleware","forRoutes","Global","Module","providers","LoggerService","exports"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iamnnort/nestjs-logger",
3
- "version": "1.1.9",
3
+ "version": "1.1.11",
4
4
  "description": "Logger module for NestJS - Simple - Informative - Pretty",
5
5
  "keywords": [
6
6
  "logger"
@@ -38,6 +38,7 @@
38
38
  "devDependencies": {
39
39
  "@nestjs/core": "^10.3.3",
40
40
  "@nestjs/platform-express": "^10.3.3",
41
+ "@swc/core": "^1.4.2",
41
42
  "@tsconfig/node16": "^16.1.1",
42
43
  "@types/express": "^4.17.21",
43
44
  "@types/jest": "^29.5.6",