@mondart/nestjs-common-module 1.1.58 → 1.1.59

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.
@@ -1,6 +1,5 @@
1
1
  import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
2
2
  import { Observable } from 'rxjs';
3
- export declare class HttpLoggerInterceptor implements NestInterceptor {
4
- private logger;
3
+ export declare class GlobalLoggerInterceptor implements NestInterceptor {
5
4
  intercept(context: ExecutionContext, next: CallHandler): Observable<any>;
6
5
  }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.GlobalLoggerInterceptor = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const rxjs_1 = require("rxjs");
12
+ let GlobalLoggerInterceptor = class GlobalLoggerInterceptor {
13
+ intercept(context, next) {
14
+ const host = context.getType();
15
+ if (host === 'http') {
16
+ const logger = new common_1.Logger('HTTP');
17
+ const request = context.switchToHttp().getRequest();
18
+ const response = context.switchToHttp().getResponse();
19
+ const { method, originalUrl } = request;
20
+ const startTime = Date.now();
21
+ return next.handle().pipe((0, rxjs_1.tap)({
22
+ next: () => {
23
+ const { statusCode } = response;
24
+ const responseTime = Date.now() - startTime;
25
+ logger.log(`${method} ${originalUrl} ${statusCode} - ${responseTime}ms`);
26
+ },
27
+ error: (err) => {
28
+ const { statusCode } = err.response;
29
+ const responseTime = Date.now() - startTime;
30
+ logger.warn(`${method} ${originalUrl} ${statusCode} - ${responseTime}ms`);
31
+ },
32
+ }));
33
+ }
34
+ if (host === 'rpc') {
35
+ const logger = new common_1.Logger('RPC');
36
+ const rpcContext = context.switchToRpc().getContext();
37
+ const requestData = context.switchToRpc().getData();
38
+ const topic = rpcContext.getArgByIndex(2);
39
+ const eventLogMessage = requestData
40
+ ? `${topic} - event_source: ${requestData?.event_source} - event_key: ${requestData?.event_key} - model: ${requestData?.model}`
41
+ : `${topic}`;
42
+ const startTime = Date.now();
43
+ return next.handle().pipe((0, rxjs_1.tap)({
44
+ next: () => {
45
+ const responseTime = Date.now() - startTime;
46
+ logger.log(`${eventLogMessage} - ${responseTime}ms`);
47
+ },
48
+ error: (err) => {
49
+ const responseTime = Date.now() - startTime;
50
+ logger.log(`${eventLogMessage} - ${responseTime}ms`);
51
+ },
52
+ }));
53
+ }
54
+ }
55
+ };
56
+ exports.GlobalLoggerInterceptor = GlobalLoggerInterceptor;
57
+ exports.GlobalLoggerInterceptor = GlobalLoggerInterceptor = __decorate([
58
+ (0, common_1.Injectable)()
59
+ ], GlobalLoggerInterceptor);
@@ -1 +1 @@
1
- export * from './http-logger.interceptor';
1
+ export * from './global-logger.interceptor';
@@ -14,4 +14,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./http-logger.interceptor"), exports);
17
+ __exportStar(require("./global-logger.interceptor"), exports);