@infineit/winston-logger 1.0.31 → 1.0.33
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/README.md +1213 -101
- package/context/infrastructure/nestjs/contextModule.js +1 -10
- package/context/infrastructure/nestjs/contextModule.js.map +1 -1
- package/index.d.ts +5 -0
- package/index.js +10 -1
- package/index.js.map +1 -1
- package/logger/domain/loggerService.d.ts +3 -1
- package/logger/domain/loggerService.js +15 -2
- package/logger/domain/loggerService.js.map +1 -1
- package/logger/infrastructure/forwarding/centralLogForwarder.d.ts +15 -0
- package/logger/infrastructure/forwarding/centralLogForwarder.js +81 -0
- package/logger/infrastructure/forwarding/centralLogForwarder.js.map +1 -0
- package/logger/infrastructure/forwarding/httpCentralLogForwarder.d.ts +8 -0
- package/logger/infrastructure/forwarding/httpCentralLogForwarder.js +88 -0
- package/logger/infrastructure/forwarding/httpCentralLogForwarder.js.map +1 -0
- package/logger/infrastructure/forwarding/kafkaCentralLogForwarder.d.ts +9 -0
- package/logger/infrastructure/forwarding/kafkaCentralLogForwarder.js +50 -0
- package/logger/infrastructure/forwarding/kafkaCentralLogForwarder.js.map +1 -0
- package/logger/infrastructure/nestjs/loggerModule.d.ts +4 -0
- package/logger/infrastructure/nestjs/loggerModule.js +14 -0
- package/logger/infrastructure/nestjs/loggerModule.js.map +1 -1
- package/package.json +1 -1
- package/tsconfig.lib.tsbuildinfo +1 -1
|
@@ -11,7 +11,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ContextModule = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
|
-
const nestjs_cls_1 = require("nestjs-cls");
|
|
15
14
|
const contextStorageService_1 = require("../../../context/domain/interfaces/contextStorageService");
|
|
16
15
|
const nestjsClsContextStorageService_1 = __importDefault(require("../../../context/infrastructure/nestjs-cls/nestjsClsContextStorageService"));
|
|
17
16
|
let ContextModule = class ContextModule {
|
|
@@ -20,15 +19,7 @@ exports.ContextModule = ContextModule;
|
|
|
20
19
|
exports.ContextModule = ContextModule = __decorate([
|
|
21
20
|
(0, common_1.Global)(),
|
|
22
21
|
(0, common_1.Module)({
|
|
23
|
-
imports: [
|
|
24
|
-
nestjs_cls_1.ClsModule.forRoot({
|
|
25
|
-
global: true,
|
|
26
|
-
middleware: {
|
|
27
|
-
mount: false,
|
|
28
|
-
generateId: false,
|
|
29
|
-
},
|
|
30
|
-
}),
|
|
31
|
-
],
|
|
22
|
+
imports: [],
|
|
32
23
|
controllers: [],
|
|
33
24
|
providers: [
|
|
34
25
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextModule.js","sourceRoot":"","sources":["../../../../../libs/src/context/infrastructure/nestjs/contextModule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAgD;
|
|
1
|
+
{"version":3,"file":"contextModule.js","sourceRoot":"","sources":["../../../../../libs/src/context/infrastructure/nestjs/contextModule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAgD;AAIhD,oGAAoG;AACpG,+IAAuH;AA2ChH,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IAhBzB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACJ,OAAO,EAAE,EAIR;QACD,WAAW,EAAE,EAAE;QACf,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,gDAAwB;gBACjC,QAAQ,EAAE,wCAA8B;aAC3C;SACJ;QACD,OAAO,EAAE,CAAC,gDAAwB,CAAC;KACtC,CAAC;GACW,aAAa,CAAG"}
|
package/index.d.ts
CHANGED
|
@@ -12,3 +12,8 @@ export { serializeError } from './logger/domain/normalizedLog';
|
|
|
12
12
|
export { LogLevel } from './logger/domain/log';
|
|
13
13
|
export type { LogData, Log } from './logger/domain/log';
|
|
14
14
|
export { WinstonTransportAdapter, WinstonTransportAdapterTransportsKey, } from './logger/infrastructure/winston/winstonTransportAdapter';
|
|
15
|
+
export { CentralLogForwarderKey, KafkaProducerKey, } from './logger/infrastructure/forwarding/centralLogForwarder';
|
|
16
|
+
export type { ICentralLogForwarder } from './logger/infrastructure/forwarding/centralLogForwarder';
|
|
17
|
+
export { CentralLogForwarder } from './logger/infrastructure/forwarding/centralLogForwarder';
|
|
18
|
+
export { KafkaCentralLogForwarder } from './logger/infrastructure/forwarding/kafkaCentralLogForwarder';
|
|
19
|
+
export { HttpCentralLogForwarder } from './logger/infrastructure/forwarding/httpCentralLogForwarder';
|
package/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.WinstonTransportAdapterTransportsKey = exports.WinstonTransportAdapter = exports.LogLevel = exports.serializeError = exports.LoggerTransportKey = exports.ContextStorageServiceKey = exports.LoggerService = exports.LoggerKey = exports.NestjsLoggerServiceAdapter = exports.LoggerModule = exports.ContextModule = void 0;
|
|
6
|
+
exports.HttpCentralLogForwarder = exports.KafkaCentralLogForwarder = exports.CentralLogForwarder = exports.KafkaProducerKey = exports.CentralLogForwarderKey = exports.WinstonTransportAdapterTransportsKey = exports.WinstonTransportAdapter = exports.LogLevel = exports.serializeError = exports.LoggerTransportKey = exports.ContextStorageServiceKey = exports.LoggerService = exports.LoggerKey = exports.NestjsLoggerServiceAdapter = exports.LoggerModule = exports.ContextModule = void 0;
|
|
7
7
|
var contextModule_1 = require("./context/infrastructure/nestjs/contextModule");
|
|
8
8
|
Object.defineProperty(exports, "ContextModule", { enumerable: true, get: function () { return contextModule_1.ContextModule; } });
|
|
9
9
|
var loggerModule_1 = require("./logger/infrastructure/nestjs/loggerModule");
|
|
@@ -25,4 +25,13 @@ Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function ()
|
|
|
25
25
|
var winstonTransportAdapter_1 = require("./logger/infrastructure/winston/winstonTransportAdapter");
|
|
26
26
|
Object.defineProperty(exports, "WinstonTransportAdapter", { enumerable: true, get: function () { return winstonTransportAdapter_1.WinstonTransportAdapter; } });
|
|
27
27
|
Object.defineProperty(exports, "WinstonTransportAdapterTransportsKey", { enumerable: true, get: function () { return winstonTransportAdapter_1.WinstonTransportAdapterTransportsKey; } });
|
|
28
|
+
var centralLogForwarder_1 = require("./logger/infrastructure/forwarding/centralLogForwarder");
|
|
29
|
+
Object.defineProperty(exports, "CentralLogForwarderKey", { enumerable: true, get: function () { return centralLogForwarder_1.CentralLogForwarderKey; } });
|
|
30
|
+
Object.defineProperty(exports, "KafkaProducerKey", { enumerable: true, get: function () { return centralLogForwarder_1.KafkaProducerKey; } });
|
|
31
|
+
var centralLogForwarder_2 = require("./logger/infrastructure/forwarding/centralLogForwarder");
|
|
32
|
+
Object.defineProperty(exports, "CentralLogForwarder", { enumerable: true, get: function () { return centralLogForwarder_2.CentralLogForwarder; } });
|
|
33
|
+
var kafkaCentralLogForwarder_1 = require("./logger/infrastructure/forwarding/kafkaCentralLogForwarder");
|
|
34
|
+
Object.defineProperty(exports, "KafkaCentralLogForwarder", { enumerable: true, get: function () { return kafkaCentralLogForwarder_1.KafkaCentralLogForwarder; } });
|
|
35
|
+
var httpCentralLogForwarder_1 = require("./logger/infrastructure/forwarding/httpCentralLogForwarder");
|
|
36
|
+
Object.defineProperty(exports, "HttpCentralLogForwarder", { enumerable: true, get: function () { return httpCentralLogForwarder_1.HttpCentralLogForwarder; } });
|
|
28
37
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../libs/src/index.ts"],"names":[],"mappings":";;;;;;AAAA,+EAA8E;AAArE,8GAAA,aAAa,OAAA;AACtB,4EAA+F;AAAtF,4GAAA,YAAY,OAAA;AACrB,wGAAkH;AAAzG,yJAAA,OAAO,OAA8B;AAE9C,iDAAmD;AAA1C,mGAAA,SAAS,OAAA;AAGlB,+DAAyE;AAAhE,+HAAA,OAAO,OAAiB;AAEjC,2FAA6F;AAApF,iIAAA,wBAAwB,OAAA;AAGjC,mEAAsF;AAA5D,qHAAA,kBAAkB,OAAA;AAE5C,+DAA+D;AAAtD,+GAAA,cAAc,OAAA;AAEvB,2CAA+C;AAAtC,+FAAA,QAAQ,OAAA;AAGjB,mGAGiE;AAF7D,kIAAA,uBAAuB,OAAA;AACvB,+IAAA,oCAAoC,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../libs/src/index.ts"],"names":[],"mappings":";;;;;;AAAA,+EAA8E;AAArE,8GAAA,aAAa,OAAA;AACtB,4EAA+F;AAAtF,4GAAA,YAAY,OAAA;AACrB,wGAAkH;AAAzG,yJAAA,OAAO,OAA8B;AAE9C,iDAAmD;AAA1C,mGAAA,SAAS,OAAA;AAGlB,+DAAyE;AAAhE,+HAAA,OAAO,OAAiB;AAEjC,2FAA6F;AAApF,iIAAA,wBAAwB,OAAA;AAGjC,mEAAsF;AAA5D,qHAAA,kBAAkB,OAAA;AAE5C,+DAA+D;AAAtD,+GAAA,cAAc,OAAA;AAEvB,2CAA+C;AAAtC,+FAAA,QAAQ,OAAA;AAGjB,mGAGiE;AAF7D,kIAAA,uBAAuB,OAAA;AACvB,+IAAA,oCAAoC,OAAA;AAGxC,8FAGgE;AAF5D,6HAAA,sBAAsB,OAAA;AACtB,uHAAA,gBAAgB,OAAA;AAGpB,8FAA6F;AAApF,0HAAA,mBAAmB,OAAA;AAC5B,wGAAuG;AAA9F,oIAAA,wBAAwB,OAAA;AACjC,sGAAqG;AAA5F,kIAAA,uBAAuB,OAAA"}
|
|
@@ -3,6 +3,7 @@ import ContextStorageService from '../../context/domain/interfaces/contextStorag
|
|
|
3
3
|
import { LogData, LogLevel } from '../../logger/domain/log';
|
|
4
4
|
import Logger from '../../logger/domain/logger';
|
|
5
5
|
import { LoggerTransport } from '../../logger/domain/loggerTransport';
|
|
6
|
+
import { ICentralLogForwarder } from '../../logger/infrastructure/forwarding/centralLogForwarder';
|
|
6
7
|
export default class LoggerService implements Logger {
|
|
7
8
|
private transports;
|
|
8
9
|
private contextStorageService;
|
|
@@ -11,7 +12,8 @@ export default class LoggerService implements Logger {
|
|
|
11
12
|
private organization;
|
|
12
13
|
private context;
|
|
13
14
|
private app;
|
|
14
|
-
|
|
15
|
+
private centralLogForwarder;
|
|
16
|
+
constructor(transports: LoggerTransport[], parentClass: object, contextStorageService: ContextStorageService, configService: ConfigService, centralLogForwarder?: ICentralLogForwarder);
|
|
15
17
|
log(level: LogLevel, message: string | Error, data?: LogData, _profile?: string): void;
|
|
16
18
|
debug(message: string, data?: LogData, profile?: string): void;
|
|
17
19
|
info(message: string, data?: LogData, profile?: string): void;
|
|
@@ -19,6 +19,7 @@ const contextStorageService_1 = require("../../context/domain/interfaces/context
|
|
|
19
19
|
const log_1 = require("../../logger/domain/log");
|
|
20
20
|
const loggerTransport_1 = require("../../logger/domain/loggerTransport");
|
|
21
21
|
const normalizedLog_1 = require("../../logger/domain/normalizedLog");
|
|
22
|
+
const centralLogForwarder_1 = require("../../logger/infrastructure/forwarding/centralLogForwarder");
|
|
22
23
|
let LoggerService = class LoggerService {
|
|
23
24
|
transports;
|
|
24
25
|
contextStorageService;
|
|
@@ -27,10 +28,12 @@ let LoggerService = class LoggerService {
|
|
|
27
28
|
organization;
|
|
28
29
|
context;
|
|
29
30
|
app;
|
|
30
|
-
|
|
31
|
+
centralLogForwarder = null;
|
|
32
|
+
constructor(transports, parentClass, contextStorageService, configService, centralLogForwarder) {
|
|
31
33
|
this.transports = transports;
|
|
32
34
|
this.contextStorageService = contextStorageService;
|
|
33
35
|
this.configService = configService;
|
|
36
|
+
this.centralLogForwarder = centralLogForwarder || null;
|
|
34
37
|
this.sourceClass = parentClass?.constructor?.name;
|
|
35
38
|
try {
|
|
36
39
|
const config = this.configService.get('logger', { infer: true });
|
|
@@ -157,6 +160,14 @@ let LoggerService = class LoggerService {
|
|
|
157
160
|
console.error(`Transport error (swallowed):`, error);
|
|
158
161
|
}
|
|
159
162
|
}
|
|
163
|
+
if (this.centralLogForwarder) {
|
|
164
|
+
try {
|
|
165
|
+
this.centralLogForwarder.forward(normalizedLog);
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
console.error('CentralLogForwarder error (swallowed):', error);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
160
171
|
}
|
|
161
172
|
catch (error) {
|
|
162
173
|
console.error('LoggerService sendToTransports error (swallowed):', error);
|
|
@@ -186,7 +197,9 @@ LoggerService = __decorate([
|
|
|
186
197
|
__param(0, (0, common_1.Inject)(loggerTransport_1.LoggerTransportKey)),
|
|
187
198
|
__param(1, (0, common_1.Inject)(core_1.INQUIRER)),
|
|
188
199
|
__param(2, (0, common_1.Inject)(contextStorageService_1.ContextStorageServiceKey)),
|
|
189
|
-
|
|
200
|
+
__param(4, (0, common_1.Optional)()),
|
|
201
|
+
__param(4, (0, common_1.Inject)(centralLogForwarder_1.CentralLogForwarderKey)),
|
|
202
|
+
__metadata("design:paramtypes", [Array, Object, Object, config_1.ConfigService, Object])
|
|
190
203
|
], LoggerService);
|
|
191
204
|
exports.default = LoggerService;
|
|
192
205
|
//# sourceMappingURL=loggerService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loggerService.js","sourceRoot":"","sources":["../../../../libs/src/logger/domain/loggerService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"loggerService.js","sourceRoot":"","sources":["../../../../libs/src/logger/domain/loggerService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ConfigService } from '@nestjs/config';
|
|
2
|
+
import { NormalizedLog } from '../../domain/normalizedLog';
|
|
3
|
+
export declare const KafkaProducerKey: unique symbol;
|
|
4
|
+
export declare const CentralLogForwarderKey: unique symbol;
|
|
5
|
+
export interface ICentralLogForwarder {
|
|
6
|
+
forward(normalizedLog: NormalizedLog): void;
|
|
7
|
+
}
|
|
8
|
+
export declare class CentralLogForwarder implements ICentralLogForwarder {
|
|
9
|
+
private readonly configService;
|
|
10
|
+
private kafkaProducer?;
|
|
11
|
+
private forwarder;
|
|
12
|
+
constructor(configService: ConfigService, kafkaProducer?: any);
|
|
13
|
+
forward(normalizedLog: NormalizedLog): void;
|
|
14
|
+
private parseBoolean;
|
|
15
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
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
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.CentralLogForwarder = exports.CentralLogForwarderKey = exports.KafkaProducerKey = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const config_1 = require("@nestjs/config");
|
|
18
|
+
const httpCentralLogForwarder_1 = require("./httpCentralLogForwarder");
|
|
19
|
+
const kafkaCentralLogForwarder_1 = require("./kafkaCentralLogForwarder");
|
|
20
|
+
exports.KafkaProducerKey = Symbol('KafkaProducer');
|
|
21
|
+
exports.CentralLogForwarderKey = Symbol('CentralLogForwarder');
|
|
22
|
+
let CentralLogForwarder = class CentralLogForwarder {
|
|
23
|
+
configService;
|
|
24
|
+
kafkaProducer;
|
|
25
|
+
forwarder = null;
|
|
26
|
+
constructor(configService, kafkaProducer) {
|
|
27
|
+
this.configService = configService;
|
|
28
|
+
this.kafkaProducer = kafkaProducer;
|
|
29
|
+
try {
|
|
30
|
+
const config = this.configService.get('logger', { infer: true });
|
|
31
|
+
const forwardToCentral = this.parseBoolean(config?.forwardToCentral);
|
|
32
|
+
const transportType = config?.transportType;
|
|
33
|
+
if (forwardToCentral) {
|
|
34
|
+
if (transportType === 'kafka') {
|
|
35
|
+
const kafkaTopic = config?.kafkaTopic;
|
|
36
|
+
if (kafkaTopic) {
|
|
37
|
+
this.forwarder = new kafkaCentralLogForwarder_1.KafkaCentralLogForwarder(kafkaTopic, this.kafkaProducer);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else if (transportType === 'http') {
|
|
41
|
+
const httpEndpoint = config?.httpEndpoint;
|
|
42
|
+
if (httpEndpoint) {
|
|
43
|
+
this.forwarder = new httpCentralLogForwarder_1.HttpCentralLogForwarder(httpEndpoint);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.error('CentralLogForwarder initialization error (swallowed):', error);
|
|
50
|
+
this.forwarder = null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
forward(normalizedLog) {
|
|
54
|
+
if (!this.forwarder) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
this.forwarder.forward(normalizedLog);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
console.error('CentralLogForwarder forward error (swallowed):', error);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
parseBoolean(value) {
|
|
65
|
+
if (value === undefined) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
if (typeof value === 'boolean') {
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
return value === 'true' || value === '1';
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
exports.CentralLogForwarder = CentralLogForwarder;
|
|
75
|
+
exports.CentralLogForwarder = CentralLogForwarder = __decorate([
|
|
76
|
+
(0, common_1.Injectable)(),
|
|
77
|
+
__param(1, (0, common_1.Optional)()),
|
|
78
|
+
__param(1, (0, common_1.Inject)(exports.KafkaProducerKey)),
|
|
79
|
+
__metadata("design:paramtypes", [config_1.ConfigService, Object])
|
|
80
|
+
], CentralLogForwarder);
|
|
81
|
+
//# sourceMappingURL=centralLogForwarder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"centralLogForwarder.js","sourceRoot":"","sources":["../../../../../libs/src/logger/infrastructure/forwarding/centralLogForwarder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,2CAA+C;AAI/C,uEAAoE;AACpE,yEAAsE;AAMzD,QAAA,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAK3C,QAAA,sBAAsB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAoB7D,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAIP;IAC6B;IAJ1C,SAAS,GAAgC,IAAI,CAAC;IAEtD,YACqB,aAA4B,EACC,aAAmB;QADhD,kBAAa,GAAb,aAAa,CAAe;QACC,kBAAa,GAAb,aAAa,CAAM;QAEjE,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAQ,CAAC;YACxE,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YACrE,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,CAAC;YAE5C,IAAI,gBAAgB,EAAE,CAAC;gBACnB,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;oBAC5B,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,CAAC;oBACtC,IAAI,UAAU,EAAE,CAAC;wBACb,IAAI,CAAC,SAAS,GAAG,IAAI,mDAAwB,CACzC,UAAU,EACV,IAAI,CAAC,aAAa,CACrB,CAAC;oBACN,CAAC;gBACL,CAAC;qBAAM,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;oBAClC,MAAM,YAAY,GAAG,MAAM,EAAE,YAAY,CAAC;oBAC1C,IAAI,YAAY,EAAE,CAAC;wBACf,IAAI,CAAC,SAAS,GAAG,IAAI,iDAAuB,CAAC,YAAY,CAAC,CAAC;oBAC/D,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEb,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE,KAAK,CAAC,CAAC;YAC9E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;IACL,CAAC;IAMM,OAAO,CAAC,aAA4B;QACvC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEb,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,KAAmC;QACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,CAAC;IAC7C,CAAC;CACJ,CAAA;AA7DY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,eAAM,EAAC,wBAAgB,CAAC,CAAA;qCADL,sBAAa;GAJxC,mBAAmB,CA6D/B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { NormalizedLog } from '../../domain/normalizedLog';
|
|
2
|
+
import { ICentralLogForwarder } from './centralLogForwarder';
|
|
3
|
+
export declare class HttpCentralLogForwarder implements ICentralLogForwarder {
|
|
4
|
+
private readonly endpoint;
|
|
5
|
+
private readonly url;
|
|
6
|
+
constructor(endpoint: string);
|
|
7
|
+
forward(normalizedLog: NormalizedLog): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.HttpCentralLogForwarder = void 0;
|
|
37
|
+
const http = __importStar(require("http"));
|
|
38
|
+
const https = __importStar(require("https"));
|
|
39
|
+
const url_1 = require("url");
|
|
40
|
+
class HttpCentralLogForwarder {
|
|
41
|
+
endpoint;
|
|
42
|
+
url;
|
|
43
|
+
constructor(endpoint) {
|
|
44
|
+
this.endpoint = endpoint;
|
|
45
|
+
try {
|
|
46
|
+
this.url = new url_1.URL(endpoint);
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
throw new Error(`Invalid HTTP endpoint: ${endpoint}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
forward(normalizedLog) {
|
|
53
|
+
try {
|
|
54
|
+
const logPayload = JSON.stringify(normalizedLog);
|
|
55
|
+
const options = {
|
|
56
|
+
hostname: this.url.hostname,
|
|
57
|
+
port: this.url.port || (this.url.protocol === 'https:' ? 443 : 80),
|
|
58
|
+
path: this.url.pathname,
|
|
59
|
+
method: 'POST',
|
|
60
|
+
headers: {
|
|
61
|
+
'Content-Type': 'application/json',
|
|
62
|
+
'Content-Length': Buffer.byteLength(logPayload),
|
|
63
|
+
...(normalizedLog.correlationId
|
|
64
|
+
? { 'x-correlation-id': normalizedLog.correlationId }
|
|
65
|
+
: {}),
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
const client = this.url.protocol === 'https:' ? https : http;
|
|
69
|
+
const req = client.request(options, (res) => {
|
|
70
|
+
res.on('data', () => { });
|
|
71
|
+
res.on('end', () => { });
|
|
72
|
+
});
|
|
73
|
+
req.on('error', (error) => {
|
|
74
|
+
console.error('HttpCentralLogForwarder error (swallowed):', error);
|
|
75
|
+
});
|
|
76
|
+
req.setTimeout(5000, () => {
|
|
77
|
+
req.destroy();
|
|
78
|
+
});
|
|
79
|
+
req.write(logPayload);
|
|
80
|
+
req.end();
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.error('HttpCentralLogForwarder forward error (swallowed):', error);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.HttpCentralLogForwarder = HttpCentralLogForwarder;
|
|
88
|
+
//# sourceMappingURL=httpCentralLogForwarder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpCentralLogForwarder.js","sourceRoot":"","sources":["../../../../../libs/src/logger/infrastructure/forwarding/httpCentralLogForwarder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,6CAA+B;AAC/B,6BAA0B;AAW1B,MAAa,uBAAuB;IACf,QAAQ,CAAS;IACjB,GAAG,CAAM;IAE1B,YAAY,QAAgB;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC;YACD,IAAI,CAAC,GAAG,GAAG,IAAI,SAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YAEL,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAMM,OAAO,CAAC,aAA4B;QACvC,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG;gBACZ,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;gBAC3B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;gBACvB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;oBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;oBAE/C,GAAG,CAAC,aAAa,CAAC,aAAa;wBAC3B,CAAC,CAAC,EAAE,kBAAkB,EAAE,aAAa,CAAC,aAAa,EAAE;wBACrD,CAAC,CAAC,EAAE,CAAC;iBACZ;aACJ,CAAC;YAEF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAG7D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAExC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACzB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAEtB,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAGH,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;gBACtB,GAAG,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACtB,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEb,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;CACJ;AA9DD,0DA8DC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NormalizedLog } from '../../domain/normalizedLog';
|
|
2
|
+
import { ICentralLogForwarder } from './centralLogForwarder';
|
|
3
|
+
export declare class KafkaCentralLogForwarder implements ICentralLogForwarder {
|
|
4
|
+
private readonly topic;
|
|
5
|
+
private kafkaProducer;
|
|
6
|
+
constructor(topic: string, kafkaProducer?: any);
|
|
7
|
+
setKafkaProducer(producer: any): void;
|
|
8
|
+
forward(normalizedLog: NormalizedLog): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KafkaCentralLogForwarder = void 0;
|
|
4
|
+
class KafkaCentralLogForwarder {
|
|
5
|
+
topic;
|
|
6
|
+
kafkaProducer = null;
|
|
7
|
+
constructor(topic, kafkaProducer) {
|
|
8
|
+
this.topic = topic;
|
|
9
|
+
this.kafkaProducer = kafkaProducer || null;
|
|
10
|
+
}
|
|
11
|
+
setKafkaProducer(producer) {
|
|
12
|
+
try {
|
|
13
|
+
this.kafkaProducer = producer;
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
console.error('KafkaCentralLogForwarder setKafkaProducer error (swallowed):', error);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
forward(normalizedLog) {
|
|
20
|
+
if (!this.kafkaProducer) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const logPayload = JSON.stringify(normalizedLog);
|
|
25
|
+
if (typeof this.kafkaProducer.send === 'function') {
|
|
26
|
+
this.kafkaProducer
|
|
27
|
+
.send({
|
|
28
|
+
topic: this.topic,
|
|
29
|
+
messages: [
|
|
30
|
+
{
|
|
31
|
+
key: normalizedLog.correlationId || 'no-correlation-id',
|
|
32
|
+
value: logPayload,
|
|
33
|
+
headers: normalizedLog.correlationId
|
|
34
|
+
? { 'x-correlation-id': normalizedLog.correlationId }
|
|
35
|
+
: {},
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
})
|
|
39
|
+
.catch((error) => {
|
|
40
|
+
console.error('KafkaCentralLogForwarder send error (swallowed):', error);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
console.error('KafkaCentralLogForwarder forward error (swallowed):', error);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.KafkaCentralLogForwarder = KafkaCentralLogForwarder;
|
|
50
|
+
//# sourceMappingURL=kafkaCentralLogForwarder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafkaCentralLogForwarder.js","sourceRoot":"","sources":["../../../../../libs/src/logger/infrastructure/forwarding/kafkaCentralLogForwarder.ts"],"names":[],"mappings":";;;AAaA,MAAa,wBAAwB;IAChB,KAAK,CAAS;IACvB,aAAa,GAAe,IAAI,CAAC;IAEzC,YAAY,KAAa,EAAE,aAAmB;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,CAAC;IAC/C,CAAC;IAMM,gBAAgB,CAAC,QAAa;QACjC,IAAI,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEb,OAAO,CAAC,KAAK,CAAC,8DAA8D,EAAE,KAAK,CAAC,CAAC;QACzF,CAAC;IACL,CAAC;IAMM,OAAO,CAAC,aAA4B;QACvC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAGtB,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAIjD,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAChD,IAAI,CAAC,aAAa;qBACb,IAAI,CAAC;oBACF,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ,EAAE;wBACN;4BACI,GAAG,EAAE,aAAa,CAAC,aAAa,IAAI,mBAAmB;4BACvD,KAAK,EAAE,UAAU;4BACjB,OAAO,EAAE,aAAa,CAAC,aAAa;gCAChC,CAAC,CAAC,EAAE,kBAAkB,EAAE,aAAa,CAAC,aAAa,EAAE;gCACrD,CAAC,CAAC,EAAE;yBACX;qBACJ;iBACJ,CAAC;qBACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;oBAElB,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;gBAC7E,CAAC,CAAC,CAAC;YACX,CAAC;QAGL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEb,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;CACJ;AAhED,4DAgEC"}
|
|
@@ -7,6 +7,10 @@ export interface LoggerModuleConfig {
|
|
|
7
7
|
organization?: string;
|
|
8
8
|
context?: string;
|
|
9
9
|
app?: string;
|
|
10
|
+
forwardToCentral?: boolean | string;
|
|
11
|
+
transportType?: 'kafka' | 'http';
|
|
12
|
+
kafkaTopic?: string;
|
|
13
|
+
httpEndpoint?: string;
|
|
10
14
|
}
|
|
11
15
|
export declare class LoggerModule {
|
|
12
16
|
static forRoot(config?: LoggerModuleConfig, additionalTransports?: Provider[]): DynamicModule;
|
|
@@ -16,6 +16,7 @@ const config_1 = require("@nestjs/config");
|
|
|
16
16
|
const logger_1 = require("../../../logger/domain/logger");
|
|
17
17
|
const loggerService_1 = __importDefault(require("../../../logger/domain/loggerService"));
|
|
18
18
|
const loggerTransport_1 = require("../../../logger/domain/loggerTransport");
|
|
19
|
+
const centralLogForwarder_1 = require("../../../logger/infrastructure/forwarding/centralLogForwarder");
|
|
19
20
|
const nestjsLoggerServiceAdapter_1 = __importDefault(require("../../../logger/infrastructure/nestjs/nestjsLoggerServiceAdapter"));
|
|
20
21
|
const consoleTransport_1 = __importDefault(require("../../../logger/infrastructure/winston/transports/consoleTransport"));
|
|
21
22
|
const fileTransport_1 = __importDefault(require("../../../logger/infrastructure/winston/transports/fileTransport"));
|
|
@@ -71,8 +72,21 @@ let LoggerModule = LoggerModule_1 = class LoggerModule {
|
|
|
71
72
|
}
|
|
72
73
|
});
|
|
73
74
|
}
|
|
75
|
+
const loggerConfig = config || {};
|
|
76
|
+
const forwardToCentralConfig = loggerConfig.forwardToCentral;
|
|
77
|
+
const forwardToCentral = forwardToCentralConfig !== undefined
|
|
78
|
+
? forwardToCentralConfig === 'true' || forwardToCentralConfig === true
|
|
79
|
+
: false;
|
|
74
80
|
const providers = [
|
|
75
81
|
...transportProviders,
|
|
82
|
+
...(forwardToCentral
|
|
83
|
+
? [
|
|
84
|
+
{
|
|
85
|
+
provide: centralLogForwarder_1.CentralLogForwarderKey,
|
|
86
|
+
useClass: centralLogForwarder_1.CentralLogForwarder,
|
|
87
|
+
},
|
|
88
|
+
]
|
|
89
|
+
: []),
|
|
76
90
|
{
|
|
77
91
|
provide: loggerTransport_1.LoggerTransportKey,
|
|
78
92
|
useFactory: (...transports) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loggerModule.js","sourceRoot":"","sources":["../../../../../libs/src/logger/infrastructure/nestjs/loggerModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAyE;AACzE,2CAA+C;AAI/C,0DAAkE;AAClE,yFAAiE;AACjE,4EAA6F;AAC7F,kIAA0G;AAC1G,0HAAkG;AAClG,oHAA4F;AAC5F,sHAA8F;AAC9F,4GAGwE;
|
|
1
|
+
{"version":3,"file":"loggerModule.js","sourceRoot":"","sources":["../../../../../libs/src/logger/infrastructure/nestjs/loggerModule.ts"],"names":[],"mappings":"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"}
|