@dex-monit/observability-sdk-node 1.0.13 → 1.0.15

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.
Files changed (35) hide show
  1. package/README.md +302 -0
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +4 -1
  5. package/dist/lib/console-capture.d.ts +1 -1
  6. package/dist/lib/console-capture.d.ts.map +1 -1
  7. package/dist/lib/console-capture.js +8 -3
  8. package/dist/lib/dex-logger.service.d.ts +1 -1
  9. package/dist/lib/dex-logger.service.d.ts.map +1 -1
  10. package/dist/lib/dex-logger.service.js +12 -9
  11. package/dist/lib/error-capture.interceptor.d.ts +1 -1
  12. package/dist/lib/error-capture.interceptor.d.ts.map +1 -1
  13. package/dist/lib/error-capture.interceptor.js +14 -11
  14. package/dist/lib/global-exception.filter.d.ts +1 -1
  15. package/dist/lib/global-exception.filter.d.ts.map +1 -1
  16. package/dist/lib/global-exception.filter.js +13 -10
  17. package/dist/lib/http-interceptor.d.ts +1 -1
  18. package/dist/lib/http-interceptor.d.ts.map +1 -1
  19. package/dist/lib/http-interceptor.js +29 -21
  20. package/dist/lib/monitoring-client.js +34 -23
  21. package/dist/lib/nest-logger-capture.d.ts +1 -1
  22. package/dist/lib/nest-logger-capture.d.ts.map +1 -1
  23. package/dist/lib/nest-logger-capture.js +23 -18
  24. package/dist/lib/remote-logger.d.ts +1 -1
  25. package/dist/lib/remote-logger.d.ts.map +1 -1
  26. package/dist/lib/remote-logger.js +8 -3
  27. package/dist/lib/request-id.middleware.js +18 -15
  28. package/dist/lib/sdk-node.d.ts +10 -10
  29. package/dist/lib/sdk-node.d.ts.map +1 -1
  30. package/dist/lib/sdk-node.js +13 -10
  31. package/dist/lib/sdk-node.module.d.ts +1 -1
  32. package/dist/lib/sdk-node.module.d.ts.map +1 -1
  33. package/dist/lib/sdk-node.module.js +54 -52
  34. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  35. package/package.json +2 -4
@@ -1,22 +1,24 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { Module, Global, } from '@nestjs/common';
3
- import { APP_FILTER, APP_INTERCEPTOR } from '@nestjs/core';
4
- import { RequestIdMiddleware } from './request-id.middleware.js';
5
- import { GlobalExceptionFilter } from './global-exception.filter.js';
6
- import { ErrorCaptureInterceptor } from './error-capture.interceptor.js';
7
- import { MonitoringClient, createMonitoringClient, } from './monitoring-client.js';
8
- import { RemoteLogger, createRemoteLogger } from './remote-logger.js';
9
- import { DexLoggerService, DEX_LOGGER_TOKEN } from './dex-logger.service.js';
10
- import { startConsoleCapture, stopConsoleCapture } from './console-capture.js';
11
- import { startNestLoggerCapture, stopNestLoggerCapture, } from './nest-logger-capture.js';
12
- import { HttpTraceInterceptor } from './http-interceptor.js';
13
- import { Logger, LOGGER_TOKEN, } from '@dex-monit/observability-logger';
14
- // Re-export LOGGER_TOKEN for convenience
15
- export { LOGGER_TOKEN };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SdkNodeModule = exports.MONITORING_CLIENT_TOKEN = exports.LOGGER_TOKEN = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const core_1 = require("@nestjs/core");
7
+ const request_id_middleware_1 = require("./request-id.middleware");
8
+ const global_exception_filter_1 = require("./global-exception.filter");
9
+ const error_capture_interceptor_1 = require("./error-capture.interceptor");
10
+ const monitoring_client_1 = require("./monitoring-client");
11
+ const remote_logger_1 = require("./remote-logger");
12
+ const dex_logger_service_1 = require("./dex-logger.service");
13
+ const console_capture_1 = require("./console-capture");
14
+ const nest_logger_capture_1 = require("./nest-logger-capture");
15
+ const http_interceptor_1 = require("./http-interceptor");
16
+ const observability_logger_1 = require("@dex-monit/observability-logger");
17
+ Object.defineProperty(exports, "LOGGER_TOKEN", { enumerable: true, get: function () { return observability_logger_1.LOGGER_TOKEN; } });
16
18
  /**
17
19
  * Token for injecting the monitoring client
18
20
  */
19
- export const MONITORING_CLIENT_TOKEN = 'OBSERVABILITY_MONITORING_CLIENT';
21
+ exports.MONITORING_CLIENT_TOKEN = 'OBSERVABILITY_MONITORING_CLIENT';
20
22
  /**
21
23
  * SDK Node Module
22
24
  *
@@ -30,7 +32,7 @@ export const MONITORING_CLIENT_TOKEN = 'OBSERVABILITY_MONITORING_CLIENT';
30
32
  * - Monitoring client instance
31
33
  */
32
34
  let SdkNodeModule = (() => {
33
- let _classDecorators = [Global(), Module({})];
35
+ let _classDecorators = [(0, common_1.Global)(), (0, common_1.Module)({})];
34
36
  let _classDescriptor;
35
37
  let _classExtraInitializers = [];
36
38
  let _classThis;
@@ -38,7 +40,7 @@ let SdkNodeModule = (() => {
38
40
  static { _classThis = this; }
39
41
  static {
40
42
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
41
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
43
+ tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
42
44
  SdkNodeModule = _classThis = _classDescriptor.value;
43
45
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
44
46
  }
@@ -48,10 +50,10 @@ let SdkNodeModule = (() => {
48
50
  */
49
51
  static forRoot(config) {
50
52
  const monitoringClient = config.monitoring
51
- ? createMonitoringClient(config.monitoring)
53
+ ? (0, monitoring_client_1.createMonitoringClient)(config.monitoring)
52
54
  : undefined;
53
55
  // Use RemoteLogger if monitoring is configured
54
- const logger = createRemoteLogger({
56
+ const logger = (0, remote_logger_1.createRemoteLogger)({
55
57
  ...config.logger,
56
58
  monitoringClient,
57
59
  remoteLevel: config.remoteLogLevel || 'debug', // Default: capture ALL logs
@@ -64,12 +66,12 @@ let SdkNodeModule = (() => {
64
66
  const captureNestLogger = config.captureNestLogger ?? true;
65
67
  // NestJS Logger capture (default: true) - START FIRST
66
68
  if (captureNestLogger) {
67
- startNestLoggerCapture(monitoringClient);
69
+ (0, nest_logger_capture_1.startNestLoggerCapture)(monitoringClient);
68
70
  }
69
71
  // Console capture (default: true)
70
72
  // Skip NestJS logs if we're also capturing NestJS Logger to avoid duplicates
71
73
  if (captureConsole) {
72
- startConsoleCapture(monitoringClient, {
74
+ (0, console_capture_1.startConsoleCapture)(monitoringClient, {
73
75
  skipNestJsLogs: captureNestLogger,
74
76
  });
75
77
  }
@@ -79,76 +81,76 @@ let SdkNodeModule = (() => {
79
81
  providers: [
80
82
  // Monitoring Client
81
83
  {
82
- provide: MONITORING_CLIENT_TOKEN,
84
+ provide: exports.MONITORING_CLIENT_TOKEN,
83
85
  useValue: monitoringClient,
84
86
  },
85
87
  {
86
- provide: MonitoringClient,
88
+ provide: monitoring_client_1.MonitoringClient,
87
89
  useValue: monitoringClient,
88
90
  },
89
91
  // DexLoggerService - the main logger to use
90
92
  {
91
- provide: DEX_LOGGER_TOKEN,
93
+ provide: dex_logger_service_1.DEX_LOGGER_TOKEN,
92
94
  useFactory: () => {
93
- const dexLogger = new DexLoggerService();
95
+ const dexLogger = new dex_logger_service_1.DexLoggerService();
94
96
  dexLogger.setMonitoringClient(monitoringClient);
95
97
  return dexLogger;
96
98
  },
97
99
  },
98
100
  {
99
- provide: DexLoggerService,
101
+ provide: dex_logger_service_1.DexLoggerService,
100
102
  useFactory: () => {
101
- const dexLogger = new DexLoggerService();
103
+ const dexLogger = new dex_logger_service_1.DexLoggerService();
102
104
  dexLogger.setMonitoringClient(monitoringClient);
103
105
  return dexLogger;
104
106
  },
105
107
  },
106
108
  // Legacy Logger support
107
109
  {
108
- provide: LOGGER_TOKEN,
110
+ provide: observability_logger_1.LOGGER_TOKEN,
109
111
  useValue: logger,
110
112
  },
111
113
  {
112
- provide: Logger,
114
+ provide: observability_logger_1.Logger,
113
115
  useValue: logger,
114
116
  },
115
117
  {
116
- provide: RemoteLogger,
118
+ provide: remote_logger_1.RemoteLogger,
117
119
  useValue: logger,
118
120
  },
119
121
  // Interceptor captures errors BEFORE any exception filter
120
122
  {
121
- provide: APP_INTERCEPTOR,
122
- useFactory: () => new ErrorCaptureInterceptor(monitoringClient),
123
+ provide: core_1.APP_INTERCEPTOR,
124
+ useFactory: () => new error_capture_interceptor_1.ErrorCaptureInterceptor(monitoringClient),
123
125
  },
124
126
  // HTTP trace interceptor (captures all HTTP requests)
125
127
  ...((config.captureHttpRequests ?? true)
126
128
  ? [
127
129
  {
128
- provide: APP_INTERCEPTOR,
129
- useFactory: () => new HttpTraceInterceptor(monitoringClient),
130
+ provide: core_1.APP_INTERCEPTOR,
131
+ useFactory: () => new http_interceptor_1.HttpTraceInterceptor(monitoringClient),
130
132
  },
131
133
  ]
132
134
  : []),
133
135
  // Keep the filter as fallback for non-HTTP contexts
134
136
  {
135
- provide: APP_FILTER,
136
- useFactory: () => new GlobalExceptionFilter(logger, monitoringClient),
137
+ provide: core_1.APP_FILTER,
138
+ useFactory: () => new global_exception_filter_1.GlobalExceptionFilter(logger, monitoringClient),
137
139
  },
138
- RequestIdMiddleware,
139
- HttpTraceInterceptor,
140
+ request_id_middleware_1.RequestIdMiddleware,
141
+ http_interceptor_1.HttpTraceInterceptor,
140
142
  ],
141
143
  exports: [
142
144
  // Main exports
143
- DexLoggerService,
144
- DEX_LOGGER_TOKEN,
145
- MONITORING_CLIENT_TOKEN,
146
- MonitoringClient,
147
- HttpTraceInterceptor,
145
+ dex_logger_service_1.DexLoggerService,
146
+ dex_logger_service_1.DEX_LOGGER_TOKEN,
147
+ exports.MONITORING_CLIENT_TOKEN,
148
+ monitoring_client_1.MonitoringClient,
149
+ http_interceptor_1.HttpTraceInterceptor,
148
150
  // Legacy exports
149
- LOGGER_TOKEN,
150
- Logger,
151
- RemoteLogger,
151
+ observability_logger_1.LOGGER_TOKEN,
152
+ observability_logger_1.Logger,
153
+ remote_logger_1.RemoteLogger,
152
154
  ],
153
155
  };
154
156
  }
@@ -157,24 +159,24 @@ let SdkNodeModule = (() => {
157
159
  */
158
160
  configure(consumer) {
159
161
  // Apply RequestIdMiddleware to all routes
160
- consumer.apply(RequestIdMiddleware).forRoutes('*');
162
+ consumer.apply(request_id_middleware_1.RequestIdMiddleware).forRoutes('*');
161
163
  }
162
164
  /**
163
165
  * Cleanup on module destroy
164
166
  */
165
167
  async onModuleDestroy() {
166
168
  // Stop captures
167
- stopConsoleCapture();
168
- stopNestLoggerCapture();
169
+ (0, console_capture_1.stopConsoleCapture)();
170
+ (0, nest_logger_capture_1.stopNestLoggerCapture)();
169
171
  // Flush remaining logs
170
172
  if (SdkNodeModule.remoteLogger) {
171
173
  await SdkNodeModule.remoteLogger.close();
172
174
  }
173
175
  }
174
176
  static {
175
- __runInitializers(_classThis, _classExtraInitializers);
177
+ tslib_1.__runInitializers(_classThis, _classExtraInitializers);
176
178
  }
177
179
  };
178
180
  return SdkNodeModule = _classThis;
179
181
  })();
180
- export { SdkNodeModule };
182
+ exports.SdkNodeModule = SdkNodeModule;