@aifabrix/miso-client 4.3.1 → 4.4.1
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/CHANGELOG.md +1253 -1215
- package/README.md +22 -23
- package/dist/api/applications.api.d.ts +42 -0
- package/dist/api/applications.api.d.ts.map +1 -0
- package/dist/api/applications.api.js +91 -0
- package/dist/api/applications.api.js.map +1 -0
- package/dist/api/index.d.ts +5 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/types/applications.types.d.ts +58 -0
- package/dist/api/types/applications.types.d.ts.map +1 -0
- package/dist/api/types/applications.types.js +7 -0
- package/dist/api/types/applications.types.js.map +1 -0
- package/dist/api/types/encryption.types.d.ts +2 -2
- package/dist/api/types/encryption.types.d.ts.map +1 -1
- package/dist/express/client-token-endpoint.d.ts +2 -2
- package/dist/express/client-token-endpoint.d.ts.map +1 -1
- package/dist/express/client-token-endpoint.js +21 -3
- package/dist/express/client-token-endpoint.js.map +1 -1
- package/dist/express/error-handler.d.ts +8 -1
- package/dist/express/error-handler.d.ts.map +1 -1
- package/dist/express/error-handler.js +8 -1
- package/dist/express/error-handler.js.map +1 -1
- package/dist/express/error-response.d.ts +16 -4
- package/dist/express/error-response.d.ts.map +1 -1
- package/dist/express/error-response.js +16 -4
- package/dist/express/error-response.js.map +1 -1
- package/dist/express/error-types.d.ts +13 -0
- package/dist/express/error-types.d.ts.map +1 -1
- package/dist/express/error-types.js +13 -0
- package/dist/express/error-types.js.map +1 -1
- package/dist/express/index.d.ts +8 -4
- package/dist/express/index.d.ts.map +1 -1
- package/dist/express/index.js.map +1 -1
- package/dist/express/logger-context.middleware.d.ts +8 -4
- package/dist/express/logger-context.middleware.d.ts.map +1 -1
- package/dist/express/logger-context.middleware.js +9 -4
- package/dist/express/logger-context.middleware.js.map +1 -1
- package/dist/express/response-middleware.d.ts +4 -0
- package/dist/express/response-middleware.d.ts.map +1 -1
- package/dist/express/response-middleware.js +4 -0
- package/dist/express/response-middleware.js.map +1 -1
- package/dist/index.d.ts +207 -34
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +214 -36
- package/dist/index.js.map +1 -1
- package/dist/services/application-context.service.d.ts +0 -1
- package/dist/services/application-context.service.d.ts.map +1 -1
- package/dist/services/application-context.service.js +12 -7
- package/dist/services/application-context.service.js.map +1 -1
- package/dist/services/auth-cache-helpers.d.ts +22 -0
- package/dist/services/auth-cache-helpers.d.ts.map +1 -0
- package/dist/services/auth-cache-helpers.js +85 -0
- package/dist/services/auth-cache-helpers.js.map +1 -0
- package/dist/services/auth-environment-token.d.ts +20 -0
- package/dist/services/auth-environment-token.d.ts.map +1 -0
- package/dist/services/auth-environment-token.js +94 -0
- package/dist/services/auth-environment-token.js.map +1 -0
- package/dist/services/auth-error-handler.d.ts.map +1 -1
- package/dist/services/auth-error-handler.js +1 -1
- package/dist/services/auth-error-handler.js.map +1 -1
- package/dist/services/auth.service.d.ts +16 -28
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +112 -208
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/browser-permission.service.d.ts +3 -1
- package/dist/services/browser-permission.service.d.ts.map +1 -1
- package/dist/services/browser-permission.service.js +44 -9
- package/dist/services/browser-permission.service.js.map +1 -1
- package/dist/services/browser-role.service.d.ts +3 -1
- package/dist/services/browser-role.service.d.ts.map +1 -1
- package/dist/services/browser-role.service.js +44 -9
- package/dist/services/browser-role.service.js.map +1 -1
- package/dist/services/cache.service.d.ts.map +1 -1
- package/dist/services/cache.service.js +8 -2
- package/dist/services/cache.service.js.map +1 -1
- package/dist/services/encryption.service.d.ts +1 -1
- package/dist/services/encryption.service.js +2 -2
- package/dist/services/encryption.service.js.map +1 -1
- package/dist/services/logger/index.d.ts +6 -4
- package/dist/services/logger/index.d.ts.map +1 -1
- package/dist/services/logger/index.js +1 -4
- package/dist/services/logger/index.js.map +1 -1
- package/dist/services/logger/logger-chain.d.ts +18 -8
- package/dist/services/logger/logger-chain.d.ts.map +1 -1
- package/dist/services/logger/logger-chain.js +35 -41
- package/dist/services/logger/logger-chain.js.map +1 -1
- package/dist/services/logger/logger-context-storage.d.ts +2 -0
- package/dist/services/logger/logger-context-storage.d.ts.map +1 -1
- package/dist/services/logger/logger-context-storage.js.map +1 -1
- package/dist/services/logger/logger-context.d.ts +0 -22
- package/dist/services/logger/logger-context.d.ts.map +1 -1
- package/dist/services/logger/logger-context.js +2 -50
- package/dist/services/logger/logger-context.js.map +1 -1
- package/dist/services/logger/logger.service.d.ts +37 -14
- package/dist/services/logger/logger.service.d.ts.map +1 -1
- package/dist/services/logger/logger.service.js +157 -133
- package/dist/services/logger/logger.service.js.map +1 -1
- package/dist/services/logger/unified-logger.service.d.ts.map +1 -1
- package/dist/services/logger/unified-logger.service.js +2 -34
- package/dist/services/logger/unified-logger.service.js.map +1 -1
- package/dist/services/permission.service.d.ts +12 -5
- package/dist/services/permission.service.d.ts.map +1 -1
- package/dist/services/permission.service.js +50 -10
- package/dist/services/permission.service.js.map +1 -1
- package/dist/services/redis.service.d.ts +29 -0
- package/dist/services/redis.service.d.ts.map +1 -1
- package/dist/services/redis.service.js +48 -5
- package/dist/services/redis.service.js.map +1 -1
- package/dist/services/role.service.d.ts +12 -5
- package/dist/services/role.service.d.ts.map +1 -1
- package/dist/services/role.service.js +38 -9
- package/dist/services/role.service.js.map +1 -1
- package/dist/services/token-validation.service.d.ts +30 -0
- package/dist/services/token-validation.service.d.ts.map +1 -1
- package/dist/services/token-validation.service.js +30 -0
- package/dist/services/token-validation.service.js.map +1 -1
- package/dist/types/config.types.d.ts +38 -1
- package/dist/types/config.types.d.ts.map +1 -1
- package/dist/types/config.types.js.map +1 -1
- package/dist/utils/audit-log-queue.d.ts.map +1 -1
- package/dist/utils/audit-log-queue.js +3 -0
- package/dist/utils/audit-log-queue.js.map +1 -1
- package/dist/utils/client-token-manager.d.ts.map +1 -1
- package/dist/utils/client-token-manager.js +9 -1
- package/dist/utils/client-token-manager.js.map +1 -1
- package/dist/utils/config-loader.d.ts +3 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +5 -3
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/data-client-audit.d.ts.map +1 -1
- package/dist/utils/data-client-audit.js +15 -2
- package/dist/utils/data-client-audit.js.map +1 -1
- package/dist/utils/data-client-auth.d.ts.map +1 -1
- package/dist/utils/data-client-auth.js +17 -9
- package/dist/utils/data-client-auth.js.map +1 -1
- package/dist/utils/data-client-auto-init.d.ts.map +1 -1
- package/dist/utils/data-client-auto-init.js +110 -119
- package/dist/utils/data-client-auto-init.js.map +1 -1
- package/dist/utils/data-client-request.d.ts +0 -3
- package/dist/utils/data-client-request.d.ts.map +1 -1
- package/dist/utils/data-client-request.js +148 -97
- package/dist/utils/data-client-request.js.map +1 -1
- package/dist/utils/data-client-response.d.ts.map +1 -1
- package/dist/utils/data-client-response.js +93 -63
- package/dist/utils/data-client-response.js.map +1 -1
- package/dist/utils/data-client-utils.d.ts +2 -1
- package/dist/utils/data-client-utils.d.ts.map +1 -1
- package/dist/utils/data-client-utils.js +2 -1
- package/dist/utils/data-client-utils.js.map +1 -1
- package/dist/utils/data-client.d.ts.map +1 -1
- package/dist/utils/data-client.js +4 -1
- package/dist/utils/data-client.js.map +1 -1
- package/dist/utils/data-masker.d.ts +3 -0
- package/dist/utils/data-masker.d.ts.map +1 -1
- package/dist/utils/data-masker.js +3 -0
- package/dist/utils/data-masker.js.map +1 -1
- package/dist/utils/filter-schema.utils.d.ts.map +1 -1
- package/dist/utils/filter-schema.utils.js +64 -46
- package/dist/utils/filter-schema.utils.js.map +1 -1
- package/dist/utils/filter.utils.d.ts.map +1 -1
- package/dist/utils/filter.utils.js +59 -75
- package/dist/utils/filter.utils.js.map +1 -1
- package/dist/utils/http-client-audit.d.ts.map +1 -1
- package/dist/utils/http-client-audit.js +31 -19
- package/dist/utils/http-client-audit.js.map +1 -1
- package/dist/utils/http-client-metadata.d.ts +2 -1
- package/dist/utils/http-client-metadata.d.ts.map +1 -1
- package/dist/utils/http-client-metadata.js +2 -1
- package/dist/utils/http-client-metadata.js.map +1 -1
- package/dist/utils/internal-http-client.d.ts.map +1 -1
- package/dist/utils/internal-http-client.js +13 -7
- package/dist/utils/internal-http-client.js.map +1 -1
- package/package.json +86 -84
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.LoggerChain = void 0;
|
|
7
7
|
const request_context_1 = require("../../utils/request-context");
|
|
8
|
+
const logger_context_storage_1 = require("./logger-context-storage");
|
|
8
9
|
/**
|
|
9
10
|
* Method chaining class for fluent logging API
|
|
10
11
|
*/
|
|
11
12
|
class LoggerChain {
|
|
12
13
|
constructor(logger, context = {}, options = {}) {
|
|
14
|
+
this.contextStorage = logger_context_storage_1.LoggerContextStorage.getInstance();
|
|
13
15
|
this.logger = logger;
|
|
14
16
|
this.context = context;
|
|
15
17
|
this.options = options;
|
|
@@ -18,22 +20,6 @@ class LoggerChain {
|
|
|
18
20
|
this.context[key] = value;
|
|
19
21
|
return this;
|
|
20
22
|
}
|
|
21
|
-
addUser(userId) {
|
|
22
|
-
this.options.userId = userId;
|
|
23
|
-
return this;
|
|
24
|
-
}
|
|
25
|
-
addApplication(applicationId) {
|
|
26
|
-
this.options.applicationId = applicationId;
|
|
27
|
-
return this;
|
|
28
|
-
}
|
|
29
|
-
addCorrelation(correlationId) {
|
|
30
|
-
this.options.correlationId = correlationId;
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
|
-
withToken(token) {
|
|
34
|
-
this.options.token = token;
|
|
35
|
-
return this;
|
|
36
|
-
}
|
|
37
23
|
withoutMasking() {
|
|
38
24
|
this.options.maskSensitiveData = false;
|
|
39
25
|
return this;
|
|
@@ -85,9 +71,8 @@ class LoggerChain {
|
|
|
85
71
|
return this;
|
|
86
72
|
}
|
|
87
73
|
/**
|
|
88
|
-
* Add
|
|
74
|
+
* Add response metrics for performance logging
|
|
89
75
|
*
|
|
90
|
-
* @param requestSize - Optional request size in bytes
|
|
91
76
|
* @param responseSize - Optional response size in bytes
|
|
92
77
|
* @param durationMs - Optional request duration in milliseconds
|
|
93
78
|
* @returns LoggerChain instance for method chaining
|
|
@@ -95,12 +80,11 @@ class LoggerChain {
|
|
|
95
80
|
* @example
|
|
96
81
|
* ```typescript
|
|
97
82
|
* await logger
|
|
98
|
-
* .
|
|
83
|
+
* .withResponseMetrics(2048, 150)
|
|
99
84
|
* .info('Upstream API call completed');
|
|
100
85
|
* ```
|
|
101
86
|
*/
|
|
102
|
-
|
|
103
|
-
this.options.requestSize = requestSize;
|
|
87
|
+
withResponseMetrics(responseSize, durationMs) {
|
|
104
88
|
this.options.responseSize = responseSize;
|
|
105
89
|
this.options.durationMs = durationMs;
|
|
106
90
|
return this;
|
|
@@ -121,26 +105,22 @@ class LoggerChain {
|
|
|
121
105
|
*/
|
|
122
106
|
withRequest(req) {
|
|
123
107
|
const ctx = (0, request_context_1.extractRequestContext)(req);
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (ctx.userAgent) {
|
|
141
|
-
this.options.userAgent = ctx.userAgent;
|
|
142
|
-
}
|
|
143
|
-
// Merge into context (additional request info, not top-level LogEntry fields)
|
|
108
|
+
const token = req.headers.authorization?.replace("Bearer ", "");
|
|
109
|
+
// Merge auto-extracted request context into AsyncLocalStorage
|
|
110
|
+
this.contextStorage.mergeContext({
|
|
111
|
+
ipAddress: ctx.ipAddress,
|
|
112
|
+
method: ctx.method,
|
|
113
|
+
path: ctx.path,
|
|
114
|
+
userAgent: ctx.userAgent,
|
|
115
|
+
correlationId: ctx.correlationId,
|
|
116
|
+
referer: ctx.referer,
|
|
117
|
+
userId: ctx.userId,
|
|
118
|
+
sessionId: ctx.sessionId,
|
|
119
|
+
requestId: ctx.requestId,
|
|
120
|
+
requestSize: ctx.requestSize,
|
|
121
|
+
token,
|
|
122
|
+
});
|
|
123
|
+
// Merge into context (additional request info)
|
|
144
124
|
if (ctx.method) {
|
|
145
125
|
this.context.method = ctx.method;
|
|
146
126
|
}
|
|
@@ -155,12 +135,26 @@ class LoggerChain {
|
|
|
155
135
|
}
|
|
156
136
|
return this;
|
|
157
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Log error with optional stack trace.
|
|
140
|
+
* @param message - Error message.
|
|
141
|
+
* @param stackTrace - Optional stack trace.
|
|
142
|
+
*/
|
|
158
143
|
async error(message, stackTrace) {
|
|
159
144
|
await this.logger.error(message, this.context, stackTrace, this.options);
|
|
160
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Log informational message.
|
|
148
|
+
* @param message - Log message.
|
|
149
|
+
*/
|
|
161
150
|
async info(message) {
|
|
162
151
|
await this.logger.info(message, this.context, this.options);
|
|
163
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Log audit event.
|
|
155
|
+
* @param action - Audit action.
|
|
156
|
+
* @param resource - Resource type.
|
|
157
|
+
*/
|
|
164
158
|
async audit(action, resource) {
|
|
165
159
|
await this.logger.audit(action, resource, this.context, this.options);
|
|
166
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger-chain.js","sourceRoot":"","sources":["../../../src/services/logger/logger-chain.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAKH,iEAAoE;
|
|
1
|
+
{"version":3,"file":"logger-chain.js","sourceRoot":"","sources":["../../../src/services/logger/logger-chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
export interface LoggerContext {
|
|
11
11
|
ipAddress?: string;
|
|
12
12
|
userAgent?: string;
|
|
13
|
+
referer?: string;
|
|
13
14
|
correlationId?: string;
|
|
14
15
|
userId?: string;
|
|
15
16
|
sessionId?: string;
|
|
@@ -18,6 +19,7 @@ export interface LoggerContext {
|
|
|
18
19
|
hostname?: string;
|
|
19
20
|
applicationId?: string;
|
|
20
21
|
requestId?: string;
|
|
22
|
+
requestSize?: number;
|
|
21
23
|
token?: string;
|
|
22
24
|
}
|
|
23
25
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger-context-storage.d.ts","sourceRoot":"","sources":["../../../src/services/logger/logger-context-storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,cAAM,oBAAoB;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmC;IAErE,OAAO;IAIP;;;OAGG;IACH,MAAM,CAAC,WAAW,IAAI,oBAAoB;IAO1C;;;OAGG;IACH,UAAU,IAAI,aAAa,GAAG,IAAI;IAQlC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAKjD;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;;OAGG;IACH,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAKtD;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAKlE;;;;;;OAMG;IACG,mBAAmB,CAAC,CAAC,EACzB,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC;CAId;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"logger-context-storage.d.ts","sourceRoot":"","sources":["../../../src/services/logger/logger-context-storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,cAAM,oBAAoB;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmC;IAErE,OAAO;IAIP;;;OAGG;IACH,MAAM,CAAC,WAAW,IAAI,oBAAoB;IAO1C;;;OAGG;IACH,UAAU,IAAI,aAAa,GAAG,IAAI;IAQlC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAKjD;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;;OAGG;IACH,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAKtD;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAKlE;;;;;;OAMG;IACG,mBAAmB,CAAC,CAAC,EACzB,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC;CAId;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger-context-storage.js","sourceRoot":"","sources":["../../../src/services/logger/logger-context-storage.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,6CAAgD;
|
|
1
|
+
{"version":3,"file":"logger-context-storage.js","sourceRoot":"","sources":["../../../src/services/logger/logger-context-storage.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,6CAAgD;AAsBhD;;;GAGG;AACH,MAAM,oBAAoB;IAIxB;QACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,+BAAiB,EAAiB,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;YACnC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7D,CAAC;QACD,OAAO,oBAAoB,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,OAA+B;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,UAAkC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAI,OAA+B,EAAE,EAAW;QAC5D,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;QAC5E,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CACvB,OAA+B,EAC/B,EAAoB;QAEpB,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;QAC5E,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;;AAGM,oDAAoB;AAnFZ,6BAAQ,GAAgC,IAAI,CAAC"}
|
|
@@ -64,26 +64,4 @@ export declare function getLogWithRequest(req: Request, message: string, level:
|
|
|
64
64
|
* ```
|
|
65
65
|
*/
|
|
66
66
|
export declare function getWithContext(context: Record<string, unknown>, message: string, level: LogEntry["level"] | undefined, applicationContextService: ApplicationContextService, generateCorrelationId: () => string, maskSensitiveData: boolean, clientId?: string): LogEntry;
|
|
67
|
-
/**
|
|
68
|
-
* Get LogEntry object with token context extracted
|
|
69
|
-
* Extracts userId, sessionId, applicationId from JWT token
|
|
70
|
-
* Generates correlation ID automatically
|
|
71
|
-
*
|
|
72
|
-
* @param token - JWT token to extract user context from
|
|
73
|
-
* @param message - Log message
|
|
74
|
-
* @param level - Optional log level (defaults to 'info')
|
|
75
|
-
* @param context - Optional additional context
|
|
76
|
-
* @param applicationContextService - ApplicationContextService for application/environment extraction
|
|
77
|
-
* @param generateCorrelationId - Function to generate correlation ID
|
|
78
|
-
* @param maskSensitiveData - Whether to mask sensitive data
|
|
79
|
-
* @param clientId - Client ID to use as fallback when application is empty
|
|
80
|
-
* @returns Complete LogEntry object with user context
|
|
81
|
-
*
|
|
82
|
-
* @example
|
|
83
|
-
* ```typescript
|
|
84
|
-
* const logEntry = getWithToken(token, 'Token validated', 'audit', undefined, applicationContextService, generateCorrelationId, true, config.clientId);
|
|
85
|
-
* await myCustomLogger.save(logEntry);
|
|
86
|
-
* ```
|
|
87
|
-
*/
|
|
88
|
-
export declare function getWithToken(token: string, message: string, level: LogEntry["level"] | undefined, context: Record<string, unknown> | undefined, applicationContextService: ApplicationContextService, generateCorrelationId: () => string, maskSensitiveData: boolean, clientId?: string): LogEntry;
|
|
89
67
|
//# sourceMappingURL=logger-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger-context.d.ts","sourceRoot":"","sources":["../../../src/services/logger/logger-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CA0BA;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAuB9D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAS,EACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,yBAAyB,EAAE,yBAAyB,EACpD,qBAAqB,EAAE,MAAM,MAAM,EACnC,iBAAiB,EAAE,OAAO,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,QAAQ,
|
|
1
|
+
{"version":3,"file":"logger-context.d.ts","sourceRoot":"","sources":["../../../src/services/logger/logger-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CA0BA;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAuB9D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAS,EACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,yBAAyB,EAAE,yBAAyB,EACpD,qBAAqB,EAAE,MAAM,MAAM,EACnC,iBAAiB,EAAE,OAAO,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,QAAQ,CAyCV;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAS,EACjC,yBAAyB,EAAE,yBAAyB,EACpD,qBAAqB,EAAE,MAAM,MAAM,EACnC,iBAAiB,EAAE,OAAO,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,QAAQ,CAqBV"}
|
|
@@ -11,7 +11,6 @@ exports.extractJwtContext = extractJwtContext;
|
|
|
11
11
|
exports.extractEnvironmentMetadata = extractEnvironmentMetadata;
|
|
12
12
|
exports.getLogWithRequest = getLogWithRequest;
|
|
13
13
|
exports.getWithContext = getWithContext;
|
|
14
|
-
exports.getWithToken = getWithToken;
|
|
15
14
|
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
16
15
|
const data_masker_1 = require("../../utils/data-masker");
|
|
17
16
|
const request_context_1 = require("../../utils/request-context");
|
|
@@ -114,6 +113,8 @@ function getLogWithRequest(req, message, level = "info", context, applicationCon
|
|
|
114
113
|
requestId: requestContext.requestId,
|
|
115
114
|
ipAddress: requestContext.ipAddress || metadata.ipAddress,
|
|
116
115
|
userAgent: requestContext.userAgent || metadata.userAgent,
|
|
116
|
+
referer: requestContext.referer,
|
|
117
|
+
requestSize: requestContext.requestSize,
|
|
117
118
|
...metadata,
|
|
118
119
|
};
|
|
119
120
|
}
|
|
@@ -156,53 +157,4 @@ function getWithContext(context, message, level = "info", applicationContextServ
|
|
|
156
157
|
...metadata,
|
|
157
158
|
};
|
|
158
159
|
}
|
|
159
|
-
/**
|
|
160
|
-
* Get LogEntry object with token context extracted
|
|
161
|
-
* Extracts userId, sessionId, applicationId from JWT token
|
|
162
|
-
* Generates correlation ID automatically
|
|
163
|
-
*
|
|
164
|
-
* @param token - JWT token to extract user context from
|
|
165
|
-
* @param message - Log message
|
|
166
|
-
* @param level - Optional log level (defaults to 'info')
|
|
167
|
-
* @param context - Optional additional context
|
|
168
|
-
* @param applicationContextService - ApplicationContextService for application/environment extraction
|
|
169
|
-
* @param generateCorrelationId - Function to generate correlation ID
|
|
170
|
-
* @param maskSensitiveData - Whether to mask sensitive data
|
|
171
|
-
* @param clientId - Client ID to use as fallback when application is empty
|
|
172
|
-
* @returns Complete LogEntry object with user context
|
|
173
|
-
*
|
|
174
|
-
* @example
|
|
175
|
-
* ```typescript
|
|
176
|
-
* const logEntry = getWithToken(token, 'Token validated', 'audit', undefined, applicationContextService, generateCorrelationId, true, config.clientId);
|
|
177
|
-
* await myCustomLogger.save(logEntry);
|
|
178
|
-
* ```
|
|
179
|
-
*/
|
|
180
|
-
function getWithToken(token, message, level = "info", context, applicationContextService, generateCorrelationId, maskSensitiveData, clientId) {
|
|
181
|
-
const jwtContext = extractJwtContext(token);
|
|
182
|
-
const metadata = extractEnvironmentMetadata();
|
|
183
|
-
const correlationId = generateCorrelationId();
|
|
184
|
-
const appContext = applicationContextService.getApplicationContext();
|
|
185
|
-
// Mask sensitive data in context if enabled
|
|
186
|
-
const maskedContext = maskSensitiveData && context
|
|
187
|
-
? data_masker_1.DataMasker.maskSensitiveData(context)
|
|
188
|
-
: context;
|
|
189
|
-
// Extract applicationId: try user JWT first, then client token
|
|
190
|
-
let applicationId = jwtContext.applicationId || "";
|
|
191
|
-
if (!applicationId && appContext.applicationId) {
|
|
192
|
-
applicationId = appContext.applicationId;
|
|
193
|
-
}
|
|
194
|
-
return {
|
|
195
|
-
timestamp: new Date().toISOString(),
|
|
196
|
-
level,
|
|
197
|
-
environment: appContext.environment || "unknown",
|
|
198
|
-
application: appContext.application || clientId || "",
|
|
199
|
-
applicationId,
|
|
200
|
-
message,
|
|
201
|
-
context: maskedContext,
|
|
202
|
-
correlationId,
|
|
203
|
-
userId: jwtContext.userId,
|
|
204
|
-
sessionId: jwtContext.sessionId,
|
|
205
|
-
...metadata,
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
160
|
//# sourceMappingURL=logger-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger-context.js","sourceRoot":"","sources":["../../../src/services/logger/logger-context.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AAcH,8CAgCC;AAMD,gEAuBC;AAuBD,
|
|
1
|
+
{"version":3,"file":"logger-context.js","sourceRoot":"","sources":["../../../src/services/logger/logger-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,15 +10,7 @@ import { LogEntry } from "../../types/config.types";
|
|
|
10
10
|
import { LoggerChain } from "./logger-chain";
|
|
11
11
|
import { ApplicationContextService } from "../application-context.service";
|
|
12
12
|
export interface ClientLoggingOptions {
|
|
13
|
-
applicationId?: string;
|
|
14
|
-
userId?: string;
|
|
15
|
-
correlationId?: string;
|
|
16
|
-
requestId?: string;
|
|
17
|
-
sessionId?: string;
|
|
18
|
-
token?: string;
|
|
19
13
|
maskSensitiveData?: boolean;
|
|
20
|
-
ipAddress?: string;
|
|
21
|
-
userAgent?: string;
|
|
22
14
|
sourceKey?: string;
|
|
23
15
|
sourceDisplayName?: string;
|
|
24
16
|
externalSystemKey?: string;
|
|
@@ -27,7 +19,6 @@ export interface ClientLoggingOptions {
|
|
|
27
19
|
recordDisplayName?: string;
|
|
28
20
|
credentialId?: string;
|
|
29
21
|
credentialType?: string;
|
|
30
|
-
requestSize?: number;
|
|
31
22
|
responseSize?: number;
|
|
32
23
|
durationMs?: number;
|
|
33
24
|
errorCategory?: string;
|
|
@@ -37,11 +28,11 @@ export declare class LoggerService extends EventEmitter {
|
|
|
37
28
|
private httpClient;
|
|
38
29
|
private apiClient?;
|
|
39
30
|
private redis;
|
|
40
|
-
private config;
|
|
41
31
|
private maskSensitiveData;
|
|
42
32
|
private correlationCounter;
|
|
43
33
|
private auditLogQueue;
|
|
44
34
|
private applicationContextService;
|
|
35
|
+
private loggerContextStorage;
|
|
45
36
|
private httpLoggingFailures;
|
|
46
37
|
private httpLoggingDisabledUntil;
|
|
47
38
|
private static readonly MAX_FAILURES;
|
|
@@ -94,18 +85,50 @@ export declare class LoggerService extends EventEmitter {
|
|
|
94
85
|
* Internal log method with enhanced features
|
|
95
86
|
*/
|
|
96
87
|
private log;
|
|
88
|
+
/**
|
|
89
|
+
* Mask sensitive data in log context if enabled.
|
|
90
|
+
*/
|
|
91
|
+
private maskContext;
|
|
92
|
+
/**
|
|
93
|
+
* Build LogEntry from inputs and context.
|
|
94
|
+
*/
|
|
95
|
+
private buildLogEntry;
|
|
96
|
+
/**
|
|
97
|
+
* Resolve applicationId from options, app context, or JWT context.
|
|
98
|
+
*/
|
|
99
|
+
private resolveApplicationId;
|
|
100
|
+
/**
|
|
101
|
+
* Attempt to enqueue log entry in Redis.
|
|
102
|
+
*/
|
|
103
|
+
private sendToRedis;
|
|
104
|
+
/**
|
|
105
|
+
* Check if HTTP logging circuit breaker is open.
|
|
106
|
+
*/
|
|
107
|
+
private isCircuitOpen;
|
|
108
|
+
/**
|
|
109
|
+
* Map internal log level to API log type/level.
|
|
110
|
+
*/
|
|
111
|
+
private mapLogType;
|
|
112
|
+
/**
|
|
113
|
+
* Build enriched context for API payload.
|
|
114
|
+
*/
|
|
115
|
+
private buildEnrichedContext;
|
|
116
|
+
/**
|
|
117
|
+
* Detect auth-related HTTP errors for circuit breaker logic.
|
|
118
|
+
*/
|
|
119
|
+
private isAuthError;
|
|
120
|
+
/**
|
|
121
|
+
* Send log entry to controller via API client.
|
|
122
|
+
*/
|
|
123
|
+
private sendToHttp;
|
|
97
124
|
/** Method chaining with context */
|
|
98
125
|
withContext(context: Record<string, unknown>): LoggerChain;
|
|
99
|
-
/** Method chaining with token */
|
|
100
|
-
withToken(token: string): LoggerChain;
|
|
101
126
|
/** Method chaining without sensitive data masking */
|
|
102
127
|
withoutMasking(): LoggerChain;
|
|
103
128
|
/** Get LogEntry with request context extracted */
|
|
104
129
|
getLogWithRequest(req: Request, message: string, level?: LogEntry["level"], context?: Record<string, unknown>): LogEntry;
|
|
105
130
|
/** Get LogEntry with provided context */
|
|
106
131
|
getWithContext(context: Record<string, unknown>, message: string, level?: LogEntry["level"]): LogEntry;
|
|
107
|
-
/** Get LogEntry with token context extracted */
|
|
108
|
-
getWithToken(token: string, message: string, level?: LogEntry["level"], context?: Record<string, unknown>): LogEntry;
|
|
109
132
|
/** Get LogEntry with request context (alias) */
|
|
110
133
|
getForRequest(req: Request, message: string, level?: LogEntry["level"], context?: Record<string, unknown>): LogEntry;
|
|
111
134
|
/** Create logger chain with request context pre-populated */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../../src/services/logger/logger.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,
|
|
1
|
+
{"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../../src/services/logger/logger.service.ts"],"names":[],"mappings":"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"}
|