@dex-monit/observability-sdk-node 1.0.12 → 1.0.14
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.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/lib/console-capture.d.ts +7 -2
- package/dist/lib/console-capture.d.ts.map +1 -1
- package/dist/lib/console-capture.js +49 -4
- package/dist/lib/dex-logger.service.d.ts +1 -1
- package/dist/lib/dex-logger.service.d.ts.map +1 -1
- package/dist/lib/dex-logger.service.js +12 -9
- package/dist/lib/error-capture.interceptor.d.ts +1 -1
- package/dist/lib/error-capture.interceptor.d.ts.map +1 -1
- package/dist/lib/error-capture.interceptor.js +14 -11
- package/dist/lib/global-exception.filter.d.ts +1 -1
- package/dist/lib/global-exception.filter.d.ts.map +1 -1
- package/dist/lib/global-exception.filter.js +13 -10
- package/dist/lib/http-interceptor.d.ts +1 -1
- package/dist/lib/http-interceptor.d.ts.map +1 -1
- package/dist/lib/http-interceptor.js +29 -21
- package/dist/lib/monitoring-client.js +34 -23
- package/dist/lib/nest-logger-capture.d.ts +1 -1
- package/dist/lib/nest-logger-capture.d.ts.map +1 -1
- package/dist/lib/nest-logger-capture.js +23 -18
- package/dist/lib/remote-logger.d.ts +1 -1
- package/dist/lib/remote-logger.d.ts.map +1 -1
- package/dist/lib/remote-logger.js +8 -3
- package/dist/lib/request-id.middleware.js +18 -15
- package/dist/lib/sdk-node.d.ts +10 -10
- package/dist/lib/sdk-node.d.ts.map +1 -1
- package/dist/lib/sdk-node.js +13 -10
- package/dist/lib/sdk-node.module.d.ts +1 -1
- package/dist/lib/sdk-node.module.d.ts.map +1 -1
- package/dist/lib/sdk-node.module.js +63 -56
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +2 -4
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
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
|
|
@@ -60,13 +62,18 @@ let SdkNodeModule = (() => {
|
|
|
60
62
|
SdkNodeModule.remoteLogger = logger;
|
|
61
63
|
// Start captures if monitoring is configured
|
|
62
64
|
if (monitoringClient) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
65
|
+
const captureConsole = config.captureConsole ?? true;
|
|
66
|
+
const captureNestLogger = config.captureNestLogger ?? true;
|
|
67
|
+
// NestJS Logger capture (default: true) - START FIRST
|
|
68
|
+
if (captureNestLogger) {
|
|
69
|
+
(0, nest_logger_capture_1.startNestLoggerCapture)(monitoringClient);
|
|
66
70
|
}
|
|
67
|
-
//
|
|
68
|
-
if
|
|
69
|
-
|
|
71
|
+
// Console capture (default: true)
|
|
72
|
+
// Skip NestJS logs if we're also capturing NestJS Logger to avoid duplicates
|
|
73
|
+
if (captureConsole) {
|
|
74
|
+
(0, console_capture_1.startConsoleCapture)(monitoringClient, {
|
|
75
|
+
skipNestJsLogs: captureNestLogger,
|
|
76
|
+
});
|
|
70
77
|
}
|
|
71
78
|
}
|
|
72
79
|
return {
|
|
@@ -74,76 +81,76 @@ let SdkNodeModule = (() => {
|
|
|
74
81
|
providers: [
|
|
75
82
|
// Monitoring Client
|
|
76
83
|
{
|
|
77
|
-
provide: MONITORING_CLIENT_TOKEN,
|
|
84
|
+
provide: exports.MONITORING_CLIENT_TOKEN,
|
|
78
85
|
useValue: monitoringClient,
|
|
79
86
|
},
|
|
80
87
|
{
|
|
81
|
-
provide: MonitoringClient,
|
|
88
|
+
provide: monitoring_client_1.MonitoringClient,
|
|
82
89
|
useValue: monitoringClient,
|
|
83
90
|
},
|
|
84
91
|
// DexLoggerService - the main logger to use
|
|
85
92
|
{
|
|
86
|
-
provide: DEX_LOGGER_TOKEN,
|
|
93
|
+
provide: dex_logger_service_1.DEX_LOGGER_TOKEN,
|
|
87
94
|
useFactory: () => {
|
|
88
|
-
const dexLogger = new DexLoggerService();
|
|
95
|
+
const dexLogger = new dex_logger_service_1.DexLoggerService();
|
|
89
96
|
dexLogger.setMonitoringClient(monitoringClient);
|
|
90
97
|
return dexLogger;
|
|
91
98
|
},
|
|
92
99
|
},
|
|
93
100
|
{
|
|
94
|
-
provide: DexLoggerService,
|
|
101
|
+
provide: dex_logger_service_1.DexLoggerService,
|
|
95
102
|
useFactory: () => {
|
|
96
|
-
const dexLogger = new DexLoggerService();
|
|
103
|
+
const dexLogger = new dex_logger_service_1.DexLoggerService();
|
|
97
104
|
dexLogger.setMonitoringClient(monitoringClient);
|
|
98
105
|
return dexLogger;
|
|
99
106
|
},
|
|
100
107
|
},
|
|
101
108
|
// Legacy Logger support
|
|
102
109
|
{
|
|
103
|
-
provide: LOGGER_TOKEN,
|
|
110
|
+
provide: observability_logger_1.LOGGER_TOKEN,
|
|
104
111
|
useValue: logger,
|
|
105
112
|
},
|
|
106
113
|
{
|
|
107
|
-
provide: Logger,
|
|
114
|
+
provide: observability_logger_1.Logger,
|
|
108
115
|
useValue: logger,
|
|
109
116
|
},
|
|
110
117
|
{
|
|
111
|
-
provide: RemoteLogger,
|
|
118
|
+
provide: remote_logger_1.RemoteLogger,
|
|
112
119
|
useValue: logger,
|
|
113
120
|
},
|
|
114
121
|
// Interceptor captures errors BEFORE any exception filter
|
|
115
122
|
{
|
|
116
|
-
provide: APP_INTERCEPTOR,
|
|
117
|
-
useFactory: () => new ErrorCaptureInterceptor(monitoringClient),
|
|
123
|
+
provide: core_1.APP_INTERCEPTOR,
|
|
124
|
+
useFactory: () => new error_capture_interceptor_1.ErrorCaptureInterceptor(monitoringClient),
|
|
118
125
|
},
|
|
119
126
|
// HTTP trace interceptor (captures all HTTP requests)
|
|
120
127
|
...((config.captureHttpRequests ?? true)
|
|
121
128
|
? [
|
|
122
129
|
{
|
|
123
|
-
provide: APP_INTERCEPTOR,
|
|
124
|
-
useFactory: () => new HttpTraceInterceptor(monitoringClient),
|
|
130
|
+
provide: core_1.APP_INTERCEPTOR,
|
|
131
|
+
useFactory: () => new http_interceptor_1.HttpTraceInterceptor(monitoringClient),
|
|
125
132
|
},
|
|
126
133
|
]
|
|
127
134
|
: []),
|
|
128
135
|
// Keep the filter as fallback for non-HTTP contexts
|
|
129
136
|
{
|
|
130
|
-
provide: APP_FILTER,
|
|
131
|
-
useFactory: () => new GlobalExceptionFilter(logger, monitoringClient),
|
|
137
|
+
provide: core_1.APP_FILTER,
|
|
138
|
+
useFactory: () => new global_exception_filter_1.GlobalExceptionFilter(logger, monitoringClient),
|
|
132
139
|
},
|
|
133
|
-
RequestIdMiddleware,
|
|
134
|
-
HttpTraceInterceptor,
|
|
140
|
+
request_id_middleware_1.RequestIdMiddleware,
|
|
141
|
+
http_interceptor_1.HttpTraceInterceptor,
|
|
135
142
|
],
|
|
136
143
|
exports: [
|
|
137
144
|
// Main exports
|
|
138
|
-
DexLoggerService,
|
|
139
|
-
DEX_LOGGER_TOKEN,
|
|
140
|
-
MONITORING_CLIENT_TOKEN,
|
|
141
|
-
MonitoringClient,
|
|
142
|
-
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,
|
|
143
150
|
// Legacy exports
|
|
144
|
-
LOGGER_TOKEN,
|
|
145
|
-
Logger,
|
|
146
|
-
RemoteLogger,
|
|
151
|
+
observability_logger_1.LOGGER_TOKEN,
|
|
152
|
+
observability_logger_1.Logger,
|
|
153
|
+
remote_logger_1.RemoteLogger,
|
|
147
154
|
],
|
|
148
155
|
};
|
|
149
156
|
}
|
|
@@ -152,24 +159,24 @@ let SdkNodeModule = (() => {
|
|
|
152
159
|
*/
|
|
153
160
|
configure(consumer) {
|
|
154
161
|
// Apply RequestIdMiddleware to all routes
|
|
155
|
-
consumer.apply(RequestIdMiddleware).forRoutes('*');
|
|
162
|
+
consumer.apply(request_id_middleware_1.RequestIdMiddleware).forRoutes('*');
|
|
156
163
|
}
|
|
157
164
|
/**
|
|
158
165
|
* Cleanup on module destroy
|
|
159
166
|
*/
|
|
160
167
|
async onModuleDestroy() {
|
|
161
168
|
// Stop captures
|
|
162
|
-
stopConsoleCapture();
|
|
163
|
-
stopNestLoggerCapture();
|
|
169
|
+
(0, console_capture_1.stopConsoleCapture)();
|
|
170
|
+
(0, nest_logger_capture_1.stopNestLoggerCapture)();
|
|
164
171
|
// Flush remaining logs
|
|
165
172
|
if (SdkNodeModule.remoteLogger) {
|
|
166
173
|
await SdkNodeModule.remoteLogger.close();
|
|
167
174
|
}
|
|
168
175
|
}
|
|
169
176
|
static {
|
|
170
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
177
|
+
tslib_1.__runInitializers(_classThis, _classExtraInitializers);
|
|
171
178
|
}
|
|
172
179
|
};
|
|
173
180
|
return SdkNodeModule = _classThis;
|
|
174
181
|
})();
|
|
175
|
-
|
|
182
|
+
exports.SdkNodeModule = SdkNodeModule;
|