logiscout 1.0.1 → 1.0.4
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/LICENSE +21 -0
- package/README.md +193 -0
- package/dist/cjs/api/Interceptor.cjs +66 -7
- package/dist/cjs/api/Interceptor.d.ts +4 -3
- package/dist/cjs/api/Interceptor.d.ts.map +1 -1
- package/dist/cjs/api/LogApi.cjs +2 -6
- package/dist/cjs/api/LogApi.d.ts +2 -3
- package/dist/cjs/api/LogApi.d.ts.map +1 -1
- package/dist/cjs/core/constants/Levels/LevelsColors.cjs +11 -0
- package/dist/cjs/core/constants/Levels/LevelsColors.d.ts +3 -0
- package/dist/cjs/core/constants/Levels/LevelsColors.d.ts.map +1 -0
- package/dist/cjs/core/constants/Levels/LevelsSeverity.cjs +11 -0
- package/dist/cjs/core/constants/Levels/LevelsSeverity.d.ts +3 -0
- package/dist/cjs/core/constants/Levels/LevelsSeverity.d.ts.map +1 -0
- package/dist/cjs/core/context/RequestContext.cjs +4 -14
- package/dist/cjs/core/context/RequestContext.d.ts +0 -3
- package/dist/cjs/core/context/RequestContext.d.ts.map +1 -1
- package/dist/cjs/core/enum/LogPayLoads.cjs +8 -0
- package/dist/cjs/core/enum/LogPayLoads.d.ts +5 -0
- package/dist/cjs/core/enum/LogPayLoads.d.ts.map +1 -0
- package/dist/cjs/core/formatters/winston/FormatLogs.cjs +18 -0
- package/dist/cjs/core/formatters/winston/FormatLogs.d.ts +3 -0
- package/dist/cjs/core/formatters/winston/FormatLogs.d.ts.map +1 -0
- package/dist/cjs/core/interface/CorrelationSession.cjs +2 -0
- package/dist/cjs/core/interface/CorrelationSession.d.ts +32 -0
- package/dist/cjs/core/interface/CorrelationSession.d.ts.map +1 -0
- package/dist/cjs/core/interface/JsonzierConfig.cjs +2 -0
- package/dist/cjs/core/interface/JsonzierConfig.d.ts +6 -0
- package/dist/cjs/core/interface/JsonzierConfig.d.ts.map +1 -0
- package/dist/cjs/core/interface/RequestContext.cjs +2 -0
- package/dist/cjs/core/interface/RequestContext.d.ts +4 -0
- package/dist/cjs/core/interface/RequestContext.d.ts.map +1 -0
- package/dist/cjs/core/interface/payloads/Payloads.cjs +2 -0
- package/dist/cjs/core/interface/payloads/Payloads.d.ts +11 -0
- package/dist/cjs/core/interface/payloads/Payloads.d.ts.map +1 -0
- package/dist/cjs/core/store/CorrelationStore.cjs +29 -0
- package/dist/cjs/core/store/CorrelationStore.d.ts +5 -0
- package/dist/cjs/core/store/CorrelationStore.d.ts.map +1 -0
- package/dist/cjs/core/types/LogEntry.d.ts +1 -0
- package/dist/cjs/core/types/LogEntry.d.ts.map +1 -1
- package/dist/cjs/errors/ThrowError.cjs +6 -0
- package/dist/cjs/errors/ThrowError.d.ts +2 -0
- package/dist/cjs/errors/ThrowError.d.ts.map +1 -0
- package/dist/cjs/index.cjs +13 -2
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/init.cjs +13 -0
- package/dist/cjs/init.d.ts +3 -0
- package/dist/cjs/init.d.ts.map +1 -0
- package/dist/cjs/initiator/state.cjs +17 -0
- package/dist/cjs/initiator/state.d.ts +8 -0
- package/dist/cjs/initiator/state.d.ts.map +1 -0
- package/dist/cjs/middlewares/correlationMiddleware.cjs +29 -63
- package/dist/cjs/middlewares/correlationMiddleware.d.ts +1 -16
- package/dist/cjs/middlewares/correlationMiddleware.d.ts.map +1 -1
- package/dist/cjs/services/Levels/Levels.cjs +10 -10
- package/dist/cjs/services/Levels/Levels.d.ts +15 -5
- package/dist/cjs/services/Levels/Levels.d.ts.map +1 -1
- package/dist/cjs/services/Logger/Logger.cjs +59 -114
- package/dist/cjs/services/Logger/Logger.d.ts +10 -2
- package/dist/cjs/services/Logger/Logger.d.ts.map +1 -1
- package/dist/cjs/services/formatters/ConsoleFormatter.cjs +30 -0
- package/dist/cjs/services/formatters/ConsoleFormatter.d.ts +12 -0
- package/dist/cjs/services/formatters/ConsoleFormatter.d.ts.map +1 -0
- package/dist/cjs/services/processors/Jsonizer.cjs +31 -0
- package/dist/cjs/services/processors/Jsonizer.d.ts +11 -0
- package/dist/cjs/services/processors/Jsonizer.d.ts.map +1 -0
- package/dist/cjs/services/transporter/ConsoleTranspoter.cjs +16 -0
- package/dist/cjs/services/transporter/ConsoleTranspoter.d.ts +5 -0
- package/dist/cjs/services/transporter/ConsoleTranspoter.d.ts.map +1 -0
- package/dist/cjs/services/transporter/ServerTransporter.cjs +31 -0
- package/dist/cjs/services/transporter/ServerTransporter.d.ts +10 -0
- package/dist/cjs/services/transporter/ServerTransporter.d.ts.map +1 -0
- package/dist/cjs/utils/GenerateCorrelationId.cjs +10 -0
- package/dist/cjs/utils/GenerateCorrelationId.d.ts +2 -0
- package/dist/cjs/utils/GenerateCorrelationId.d.ts.map +1 -0
- package/dist/cjs/validator/ValidateComponentName.cjs +14 -0
- package/dist/cjs/validator/ValidateComponentName.d.ts +2 -0
- package/dist/cjs/validator/ValidateComponentName.d.ts.map +1 -0
- package/dist/cjs/validator/ValidateLogEntry.cjs +18 -0
- package/dist/cjs/validator/ValidateLogEntry.d.ts +3 -0
- package/dist/cjs/validator/ValidateLogEntry.d.ts.map +1 -0
- package/dist/cjs/validator/ValidateLogLevel.cjs +11 -0
- package/dist/cjs/validator/ValidateLogLevel.d.ts +2 -0
- package/dist/cjs/validator/ValidateLogLevel.d.ts.map +1 -0
- package/dist/cjs/validator/ValidateLogMessage.cjs +10 -0
- package/dist/cjs/validator/ValidateLogMessage.d.ts +2 -0
- package/dist/cjs/validator/ValidateLogMessage.d.ts.map +1 -0
- package/dist/cjs/validator/ValidateRequestContext.cjs +18 -0
- package/dist/cjs/validator/ValidateRequestContext.d.ts +2 -0
- package/dist/cjs/validator/ValidateRequestContext.d.ts.map +1 -0
- package/dist/esm/api/Interceptor.d.ts +4 -3
- package/dist/esm/api/Interceptor.d.ts.map +1 -1
- package/dist/esm/api/Interceptor.js +64 -7
- package/dist/esm/api/LogApi.d.ts +2 -3
- package/dist/esm/api/LogApi.d.ts.map +1 -1
- package/dist/esm/api/LogApi.js +2 -3
- package/dist/esm/core/constants/Levels/LevelsColors.d.ts +3 -0
- package/dist/esm/core/constants/Levels/LevelsColors.d.ts.map +1 -0
- package/dist/esm/core/constants/Levels/LevelsColors.js +8 -0
- package/dist/esm/core/constants/Levels/LevelsSeverity.d.ts +3 -0
- package/dist/esm/core/constants/Levels/LevelsSeverity.d.ts.map +1 -0
- package/dist/esm/core/constants/Levels/LevelsSeverity.js +8 -0
- package/dist/esm/core/context/RequestContext.d.ts +0 -3
- package/dist/esm/core/context/RequestContext.d.ts.map +1 -1
- package/dist/esm/core/context/RequestContext.js +4 -14
- package/dist/esm/core/enum/LogPayLoads.d.ts +5 -0
- package/dist/esm/core/enum/LogPayLoads.d.ts.map +1 -0
- package/dist/esm/core/enum/LogPayLoads.js +5 -0
- package/dist/esm/core/formatters/winston/FormatLogs.d.ts +3 -0
- package/dist/esm/core/formatters/winston/FormatLogs.d.ts.map +1 -0
- package/dist/esm/core/formatters/winston/FormatLogs.js +15 -0
- package/dist/esm/core/interface/CorrelationSession.d.ts +32 -0
- package/dist/esm/core/interface/CorrelationSession.d.ts.map +1 -0
- package/dist/esm/core/interface/CorrelationSession.js +1 -0
- package/dist/esm/core/interface/JsonzierConfig.d.ts +6 -0
- package/dist/esm/core/interface/JsonzierConfig.d.ts.map +1 -0
- package/dist/esm/core/interface/JsonzierConfig.js +1 -0
- package/dist/esm/core/interface/RequestContext.d.ts +4 -0
- package/dist/esm/core/interface/RequestContext.d.ts.map +1 -0
- package/dist/esm/core/interface/RequestContext.js +1 -0
- package/dist/esm/core/interface/payloads/Payloads.d.ts +11 -0
- package/dist/esm/core/interface/payloads/Payloads.d.ts.map +1 -0
- package/dist/esm/core/interface/payloads/Payloads.js +1 -0
- package/dist/esm/core/store/CorrelationStore.d.ts +5 -0
- package/dist/esm/core/store/CorrelationStore.d.ts.map +1 -0
- package/dist/esm/core/store/CorrelationStore.js +24 -0
- package/dist/esm/core/types/LogEntry.d.ts +1 -0
- package/dist/esm/core/types/LogEntry.d.ts.map +1 -1
- package/dist/esm/errors/ThrowError.d.ts +2 -0
- package/dist/esm/errors/ThrowError.d.ts.map +1 -0
- package/dist/esm/errors/ThrowError.js +3 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +11 -1
- package/dist/esm/init.d.ts +3 -0
- package/dist/esm/init.d.ts.map +1 -0
- package/dist/esm/init.js +10 -0
- package/dist/esm/initiator/state.d.ts +8 -0
- package/dist/esm/initiator/state.d.ts.map +1 -0
- package/dist/esm/initiator/state.js +13 -0
- package/dist/esm/middlewares/correlationMiddleware.d.ts +1 -16
- package/dist/esm/middlewares/correlationMiddleware.d.ts.map +1 -1
- package/dist/esm/middlewares/correlationMiddleware.js +28 -58
- package/dist/esm/services/Levels/Levels.d.ts +15 -5
- package/dist/esm/services/Levels/Levels.d.ts.map +1 -1
- package/dist/esm/services/Levels/Levels.js +10 -10
- package/dist/esm/services/Logger/Logger.d.ts +10 -2
- package/dist/esm/services/Logger/Logger.d.ts.map +1 -1
- package/dist/esm/services/Logger/Logger.js +56 -81
- package/dist/esm/services/formatters/ConsoleFormatter.d.ts +12 -0
- package/dist/esm/services/formatters/ConsoleFormatter.d.ts.map +1 -0
- package/dist/esm/services/formatters/ConsoleFormatter.js +26 -0
- package/dist/esm/services/processors/Jsonizer.d.ts +11 -0
- package/dist/esm/services/processors/Jsonizer.d.ts.map +1 -0
- package/dist/esm/services/processors/Jsonizer.js +27 -0
- package/dist/esm/services/transporter/ConsoleTranspoter.d.ts +5 -0
- package/dist/esm/services/transporter/ConsoleTranspoter.d.ts.map +1 -0
- package/dist/esm/services/transporter/ConsoleTranspoter.js +9 -0
- package/dist/esm/services/transporter/ServerTransporter.d.ts +10 -0
- package/dist/esm/services/transporter/ServerTransporter.d.ts.map +1 -0
- package/dist/esm/services/transporter/ServerTransporter.js +27 -0
- package/dist/esm/utils/GenerateCorrelationId.d.ts +2 -0
- package/dist/esm/utils/GenerateCorrelationId.d.ts.map +1 -0
- package/dist/esm/utils/GenerateCorrelationId.js +4 -0
- package/dist/esm/validator/ValidateComponentName.d.ts +2 -0
- package/dist/esm/validator/ValidateComponentName.d.ts.map +1 -0
- package/dist/esm/validator/ValidateComponentName.js +11 -0
- package/dist/esm/validator/ValidateLogEntry.d.ts +3 -0
- package/dist/esm/validator/ValidateLogEntry.d.ts.map +1 -0
- package/dist/esm/validator/ValidateLogEntry.js +15 -0
- package/dist/esm/validator/ValidateLogLevel.d.ts +2 -0
- package/dist/esm/validator/ValidateLogLevel.d.ts.map +1 -0
- package/dist/esm/validator/ValidateLogLevel.js +8 -0
- package/dist/esm/validator/ValidateLogMessage.d.ts +2 -0
- package/dist/esm/validator/ValidateLogMessage.d.ts.map +1 -0
- package/dist/esm/validator/ValidateLogMessage.js +7 -0
- package/dist/esm/validator/ValidateRequestContext.d.ts +2 -0
- package/dist/esm/validator/ValidateRequestContext.d.ts.map +1 -0
- package/dist/esm/validator/ValidateRequestContext.js +15 -0
- package/package.json +5 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThrowError.d.ts","sourceRoot":"","sources":["../../../src/errors/ThrowError.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAEjD"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createCorrelationMiddleware = exports.createLogger = exports.BaseLogger = exports.Levels = exports.LogLevels = void 0;
|
|
3
|
+
exports.createCorrelationMiddleware = exports.createLogger = exports.initLogiscout = exports.BaseLogger = exports.Levels = exports.LogLevels = void 0;
|
|
4
4
|
var LogLevels_js_1 = require("./core/enum/LogLevels.cjs");
|
|
5
5
|
Object.defineProperty(exports, "LogLevels", { enumerable: true, get: function () { return LogLevels_js_1.LogLevels; } });
|
|
6
6
|
var Levels_js_1 = require("./services/Levels/Levels.cjs");
|
|
7
7
|
Object.defineProperty(exports, "Levels", { enumerable: true, get: function () { return Levels_js_1.Levels; } });
|
|
8
8
|
var Logger_js_1 = require("./services/Logger/Logger.cjs");
|
|
9
9
|
Object.defineProperty(exports, "BaseLogger", { enumerable: true, get: function () { return Logger_js_1.Logger; } });
|
|
10
|
+
const state_js_1 = require("./initiator/state.cjs");
|
|
10
11
|
const Levels_js_2 = require("./services/Levels/Levels.cjs");
|
|
11
12
|
// const Logger = new Levels();
|
|
12
|
-
const createLogger = (component) =>
|
|
13
|
+
// export const createLogger = (component: string) =>
|
|
14
|
+
// new Levels(component);
|
|
15
|
+
var init_js_1 = require("./init.cjs");
|
|
16
|
+
Object.defineProperty(exports, "initLogiscout", { enumerable: true, get: function () { return init_js_1.initLogiscout; } });
|
|
17
|
+
const createLogger = (component) => {
|
|
18
|
+
const config = (0, state_js_1.getLogiScouConfig)();
|
|
19
|
+
return new Levels_js_2.Levels(component, {
|
|
20
|
+
projectName: config.projectName,
|
|
21
|
+
environment: config.environment,
|
|
22
|
+
});
|
|
23
|
+
};
|
|
13
24
|
exports.createLogger = createLogger;
|
|
14
25
|
var correlationMiddleware_js_1 = require("./middlewares/correlationMiddleware.cjs");
|
|
15
26
|
Object.defineProperty(exports, "createCorrelationMiddleware", { enumerable: true, get: function () { return correlationMiddleware_js_1.createCorrelationMiddleware; } });
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { LogEntry } from "./core/types/LogEntry.js";
|
|
|
4
4
|
export { Levels } from "./services/Levels/Levels.js";
|
|
5
5
|
export { Logger as BaseLogger } from "./services/Logger/Logger.js";
|
|
6
6
|
import { Levels } from "./services/Levels/Levels.js";
|
|
7
|
+
export { initLogiscout } from "./init.js";
|
|
7
8
|
export declare const createLogger: (component: string) => Levels;
|
|
8
9
|
export { createCorrelationMiddleware } from "./middlewares/correlationMiddleware.js";
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAOrD,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,WAO7C,CAAC;AAEF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initLogiscout = initLogiscout;
|
|
4
|
+
const state_js_1 = require("./initiator/state.cjs");
|
|
5
|
+
function initLogiscout(config) {
|
|
6
|
+
if (!config.projectName) {
|
|
7
|
+
throw new Error("projectName is required");
|
|
8
|
+
}
|
|
9
|
+
if (!config.environment) {
|
|
10
|
+
throw new Error("environment is required");
|
|
11
|
+
}
|
|
12
|
+
(0, state_js_1.setConfig)(config);
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAa,MAAM,sBAAsB,CAAC;AAIlE,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,QAUpD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setConfig = setConfig;
|
|
4
|
+
exports.getLogiScouConfig = getLogiScouConfig;
|
|
5
|
+
let config = null;
|
|
6
|
+
function setConfig(c) {
|
|
7
|
+
if (config) {
|
|
8
|
+
throw new Error("Logiscout has already been initialized");
|
|
9
|
+
}
|
|
10
|
+
config = c;
|
|
11
|
+
}
|
|
12
|
+
function getLogiScouConfig() {
|
|
13
|
+
if (!config) {
|
|
14
|
+
throw new Error("Logiscout is not initialized. Call initLogiscout() before using the SDK.");
|
|
15
|
+
}
|
|
16
|
+
return config;
|
|
17
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type LogiscoutConfig = {
|
|
2
|
+
projectName: string;
|
|
3
|
+
environment: "dev" | "staging" | "prod" | string;
|
|
4
|
+
apiKey?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function setConfig(c: LogiscoutConfig): void;
|
|
7
|
+
export declare function getLogiScouConfig(): LogiscoutConfig;
|
|
8
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/initiator/state.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAIF,wBAAgB,SAAS,CAAC,CAAC,EAAE,eAAe,QAK3C;AAED,wBAAgB,iBAAiB,IAAI,eAAe,CAOnD"}
|
|
@@ -1,68 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createCorrelationMiddleware =
|
|
3
|
+
exports.createCorrelationMiddleware = createCorrelationMiddleware;
|
|
7
4
|
const RequestContext_js_1 = require("../core/context/RequestContext.cjs");
|
|
8
|
-
const
|
|
9
|
-
const
|
|
5
|
+
const CorrelationStore_js_1 = require("../core/store/CorrelationStore.cjs");
|
|
6
|
+
const state_js_1 = require("../initiator/state.cjs");
|
|
7
|
+
const ServerTransporter_js_1 = require("../services/transporter/ServerTransporter.cjs");
|
|
8
|
+
const serverTransporter = new ServerTransporter_js_1.ServerTransporter();
|
|
9
|
+
function createCorrelationMiddleware() {
|
|
10
10
|
return (req, res, next) => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
// Validate correlation ID
|
|
34
|
-
if (!correlationId || typeof correlationId !== "string") {
|
|
35
|
-
console.error("[CorrelationMiddleware] Error: Failed to generate or retrieve correlation ID");
|
|
36
|
-
next?.(new Error("Correlation ID generation failed"));
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
if (correlationId.length > 100) {
|
|
40
|
-
console.warn("[CorrelationMiddleware] Warning: Correlation ID exceeds 100 characters and will be truncated");
|
|
41
|
-
}
|
|
42
|
-
// Run the remaining middleware in the request context
|
|
43
|
-
RequestContext_js_1.RequestContext.run(() => {
|
|
44
|
-
// Safely set the correlation ID header
|
|
45
|
-
try {
|
|
46
|
-
if (res.setHeader) {
|
|
47
|
-
res.setHeader("x-correlation-id", correlationId);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
catch (headerError) {
|
|
51
|
-
// setHeader might fail in some edge cases, don't block the request
|
|
52
|
-
console.warn("[CorrelationMiddleware] Warning: Could not set x-correlation-id header", headerError instanceof Error ? headerError.message : "Unknown error");
|
|
53
|
-
}
|
|
54
|
-
// Store correlation ID in response locals for downstream access
|
|
55
|
-
if (res.locals) {
|
|
56
|
-
res.locals.correlationId = correlationId;
|
|
57
|
-
}
|
|
58
|
-
next?.();
|
|
59
|
-
}, correlationId);
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
63
|
-
console.error(`[CorrelationMiddleware] Error: Failed to initialize request context. ${errorMessage}`);
|
|
64
|
-
next?.(error instanceof Error ? error : new Error("Request context initialization failed"));
|
|
65
|
-
}
|
|
11
|
+
const correlationId = req.headers["x-correlation-id"] ?? crypto.randomUUID();
|
|
12
|
+
RequestContext_js_1.RequestContext.run(() => {
|
|
13
|
+
const session = (0, CorrelationStore_js_1.getOrCreateSession)(correlationId, {
|
|
14
|
+
projectName: (0, state_js_1.getLogiScouConfig)().projectName,
|
|
15
|
+
environment: (0, state_js_1.getLogiScouConfig)().environment,
|
|
16
|
+
correlationId,
|
|
17
|
+
request: {
|
|
18
|
+
method: req.method,
|
|
19
|
+
path: req.originalUrl || req.url,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
res.setHeader("x-correlation-id", correlationId);
|
|
23
|
+
console.log("----- SENDING TO THE SERVER-----------");
|
|
24
|
+
res.on("finish", () => {
|
|
25
|
+
session.request.statusCode = res.statusCode;
|
|
26
|
+
const payload = (0, CorrelationStore_js_1.endSession)(correlationId);
|
|
27
|
+
if (payload)
|
|
28
|
+
serverTransporter.transport(payload);
|
|
29
|
+
(0, CorrelationStore_js_1.removeSession)(correlationId);
|
|
30
|
+
});
|
|
31
|
+
next();
|
|
32
|
+
}, correlationId);
|
|
66
33
|
};
|
|
67
|
-
}
|
|
68
|
-
exports.createCorrelationMiddleware = createCorrelationMiddleware;
|
|
34
|
+
}
|
|
@@ -1,17 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
headers?: Record<string, string | string[] | undefined>;
|
|
3
|
-
get?: (header: string) => string | undefined;
|
|
4
|
-
}
|
|
5
|
-
interface ResponseLike {
|
|
6
|
-
setHeader?: (name: string, value: string) => void;
|
|
7
|
-
locals?: Record<string, unknown>;
|
|
8
|
-
}
|
|
9
|
-
interface NextFunction {
|
|
10
|
-
(err?: Error): void;
|
|
11
|
-
}
|
|
12
|
-
interface MiddlewareHandler {
|
|
13
|
-
(req: RequestLike, res: ResponseLike, next: NextFunction): void;
|
|
14
|
-
}
|
|
15
|
-
export declare const createCorrelationMiddleware: () => MiddlewareHandler;
|
|
16
|
-
export {};
|
|
1
|
+
export declare function createCorrelationMiddleware(): (req: any, res: any, next: any) => void;
|
|
17
2
|
//# sourceMappingURL=correlationMiddleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correlationMiddleware.d.ts","sourceRoot":"","sources":["../../../src/middlewares/correlationMiddleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"correlationMiddleware.d.ts","sourceRoot":"","sources":["../../../src/middlewares/correlationMiddleware.ts"],"names":[],"mappings":"AAYA,wBAAgB,2BAA2B,KACjC,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,UAgCtC"}
|
|
@@ -4,24 +4,24 @@ exports.Levels = void 0;
|
|
|
4
4
|
const Logger_js_1 = require("../Logger/Logger.cjs");
|
|
5
5
|
const LogLevels_js_1 = require("../../core/enum/LogLevels.cjs");
|
|
6
6
|
class Levels extends Logger_js_1.Logger {
|
|
7
|
-
info(message, meta) {
|
|
8
|
-
const entry = this.getLogEntry(message, LogLevels_js_1.LogLevels.INFO, meta);
|
|
7
|
+
info(message, meta, options) {
|
|
8
|
+
const entry = this.getLogEntry(message, LogLevels_js_1.LogLevels.INFO, meta, options);
|
|
9
9
|
this.log(entry);
|
|
10
10
|
}
|
|
11
|
-
warn(message, meta) {
|
|
12
|
-
const entry = this.getLogEntry(message, LogLevels_js_1.LogLevels.WARN, meta);
|
|
11
|
+
warn(message, meta, options) {
|
|
12
|
+
const entry = this.getLogEntry(message, LogLevels_js_1.LogLevels.WARN, meta, options);
|
|
13
13
|
this.log(entry);
|
|
14
14
|
}
|
|
15
|
-
error(message, meta) {
|
|
16
|
-
const entry = this.getLogEntry(message, LogLevels_js_1.LogLevels.ERROR, meta);
|
|
15
|
+
error(message, meta, options) {
|
|
16
|
+
const entry = this.getLogEntry(message, LogLevels_js_1.LogLevels.ERROR, meta, options);
|
|
17
17
|
this.log(entry);
|
|
18
18
|
}
|
|
19
|
-
debug(message, meta) {
|
|
20
|
-
const entry = this.getLogEntry(message, LogLevels_js_1.LogLevels.DEBUG, meta);
|
|
19
|
+
debug(message, meta, options) {
|
|
20
|
+
const entry = this.getLogEntry(message, LogLevels_js_1.LogLevels.DEBUG, meta, options);
|
|
21
21
|
this.log(entry);
|
|
22
22
|
}
|
|
23
|
-
critical(message, meta) {
|
|
24
|
-
const entry = this.getLogEntry(message, LogLevels_js_1.LogLevels.CRITICAL, meta);
|
|
23
|
+
critical(message, meta, options) {
|
|
24
|
+
const entry = this.getLogEntry(message, LogLevels_js_1.LogLevels.CRITICAL, meta, options);
|
|
25
25
|
this.log(entry);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import { Logger } from "../Logger/Logger.js";
|
|
2
2
|
import { LoggerInterface } from "../../core/interface/LoggerInterface.js";
|
|
3
3
|
export declare class Levels extends Logger implements LoggerInterface {
|
|
4
|
-
info(message: string, meta?: Record<string, unknown
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
info(message: string, meta?: Record<string, unknown>, options?: {
|
|
5
|
+
send?: boolean;
|
|
6
|
+
}): void;
|
|
7
|
+
warn(message: string, meta?: Record<string, unknown>, options?: {
|
|
8
|
+
send?: boolean;
|
|
9
|
+
}): void;
|
|
10
|
+
error(message: string, meta?: Record<string, unknown>, options?: {
|
|
11
|
+
send?: boolean;
|
|
12
|
+
}): void;
|
|
13
|
+
debug(message: string, meta?: Record<string, unknown>, options?: {
|
|
14
|
+
send?: boolean;
|
|
15
|
+
}): void;
|
|
16
|
+
critical(message: string, meta?: Record<string, unknown>, options?: {
|
|
17
|
+
send?: boolean;
|
|
18
|
+
}): void;
|
|
9
19
|
}
|
|
10
20
|
//# sourceMappingURL=Levels.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Levels.d.ts","sourceRoot":"","sources":["../../../../src/services/Levels/Levels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE1E,qBAAa,MAAO,SAAQ,MAAO,YAAW,eAAe;IAC3D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"Levels.d.ts","sourceRoot":"","sources":["../../../../src/services/Levels/Levels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE1E,qBAAa,MAAO,SAAQ,MAAO,YAAW,eAAe;IAC3D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAG,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAK1F,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAKzF,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAK1F,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAG,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAK3F,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAG,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;CAK/F"}
|
|
@@ -1,131 +1,81 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
})();
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
35
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
6
|
exports.Logger = void 0;
|
|
37
|
-
const winston_1 =
|
|
7
|
+
const winston_1 = __importDefault(require("winston"));
|
|
38
8
|
const LogLevels_js_1 = require("../../core/enum/LogLevels.cjs");
|
|
39
9
|
const RequestContext_js_1 = require("../../core/context/RequestContext.cjs");
|
|
10
|
+
const ConsoleTranspoter_js_1 = require("../transporter/ConsoleTranspoter.cjs");
|
|
11
|
+
const LevelsSeverity_js_1 = require("../../core/constants/Levels/LevelsSeverity.cjs");
|
|
12
|
+
const ValidateComponentName_js_1 = __importDefault(require("../../validator/ValidateComponentName.cjs"));
|
|
13
|
+
const ThrowError_js_1 = require("../../errors/ThrowError.cjs");
|
|
14
|
+
const ValidateLogEntry_js_1 = __importDefault(require("../../validator/ValidateLogEntry.cjs"));
|
|
15
|
+
const ValidateLogMessage_js_1 = __importDefault(require("../../validator/ValidateLogMessage.cjs"));
|
|
16
|
+
const ValidateLogLevel_js_1 = __importDefault(require("../../validator/ValidateLogLevel.cjs"));
|
|
17
|
+
const Jsonizer_js_1 = require("../processors/Jsonizer.cjs");
|
|
18
|
+
const ServerTransporter_js_1 = require("../transporter/ServerTransporter.cjs");
|
|
40
19
|
class Logger {
|
|
41
20
|
winstonLogger;
|
|
42
21
|
componentName;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
throw new Error("Logger: Component name cannot exceed 100 characters. " +
|
|
51
|
-
`Received: '${componentName.substring(0, 20)}...'`);
|
|
52
|
-
}
|
|
22
|
+
projectName;
|
|
23
|
+
environment;
|
|
24
|
+
jsonizer;
|
|
25
|
+
serverTransporter;
|
|
26
|
+
consoleTransporter;
|
|
27
|
+
constructor(componentName, config) {
|
|
28
|
+
(0, ValidateComponentName_js_1.default)(componentName);
|
|
53
29
|
this.componentName = componentName;
|
|
30
|
+
this.projectName = config.projectName;
|
|
31
|
+
this.environment = config.environment;
|
|
32
|
+
this.jsonizer = new Jsonizer_js_1.Jsonizer({
|
|
33
|
+
projectName: this.projectName,
|
|
34
|
+
environment: this.environment,
|
|
35
|
+
componentName: this.componentName,
|
|
36
|
+
});
|
|
37
|
+
this.serverTransporter = new ServerTransporter_js_1.ServerTransporter();
|
|
38
|
+
this.consoleTransporter = new ConsoleTranspoter_js_1.ConsoleTransporter();
|
|
54
39
|
try {
|
|
55
40
|
this.winstonLogger = winston_1.default.createLogger({
|
|
56
|
-
level:
|
|
57
|
-
levels:
|
|
58
|
-
|
|
59
|
-
warn: 1,
|
|
60
|
-
info: 2,
|
|
61
|
-
debug: 3,
|
|
62
|
-
},
|
|
63
|
-
format: winston_1.format.combine(winston_1.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), winston_1.format.printf(({ timestamp, level, message, component, correlationId, ...meta }) => {
|
|
64
|
-
const metaString = Object.keys(meta).length > 0 ? ` ${JSON.stringify(meta)}` : "";
|
|
65
|
-
return `[${component}] [${timestamp}] [${level.toUpperCase()}] [${correlationId}] ${message}${metaString}`;
|
|
66
|
-
})),
|
|
67
|
-
transports: [
|
|
68
|
-
new winston_1.transports.Console({
|
|
69
|
-
format: winston_1.format.combine(winston_1.format.colorize({ all: true }), winston_1.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), winston_1.format.printf(({ timestamp, level, message, ...meta }) => {
|
|
70
|
-
const metaString = Object.keys(meta).length > 0 ? ` ${JSON.stringify(meta)}` : "";
|
|
71
|
-
return `[${componentName}] [${timestamp}] [${level}] ${message}${metaString}`;
|
|
72
|
-
})),
|
|
73
|
-
}),
|
|
74
|
-
],
|
|
41
|
+
level: LogLevels_js_1.LogLevels.DEBUG,
|
|
42
|
+
levels: LevelsSeverity_js_1.LOG_LEVEL_SEVERITY,
|
|
43
|
+
transports: [this.consoleTransporter.transport()],
|
|
75
44
|
});
|
|
76
45
|
}
|
|
77
46
|
catch (error) {
|
|
78
|
-
|
|
47
|
+
(0, ThrowError_js_1.throwError)(`Logger: Failed to initialize Winston logger. ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
79
48
|
}
|
|
80
49
|
}
|
|
81
50
|
log(entry) {
|
|
82
51
|
try {
|
|
83
52
|
// Validate log entry
|
|
84
|
-
|
|
85
|
-
console.error("[Logiscout] Error: Log entry is undefined or null");
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
if (!entry.message || typeof entry.message !== "string") {
|
|
89
|
-
console.error("[Logiscout] Error: Log message must be a non-empty string. " +
|
|
90
|
-
`Usage: logiscout.${entry.level}('Your message', { meta })`);
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
if (entry.message.length > 10000) {
|
|
94
|
-
console.error("[Logiscout] Error: Log message exceeds 10000 characters. " +
|
|
95
|
-
"Message truncated for logging.");
|
|
96
|
-
entry.message = entry.message.substring(0, 10000) + "... [truncated]";
|
|
97
|
-
}
|
|
53
|
+
(0, ValidateLogEntry_js_1.default)(entry);
|
|
98
54
|
const correlationId = RequestContext_js_1.RequestContext.getCorrelationId() ?? "no-correlation-id";
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
correlationId,
|
|
105
|
-
...entry.meta,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
catch (metaError) {
|
|
109
|
-
console.error("[Logiscout] Error: Failed to process metadata. Logging without metadata.", metaError instanceof Error ? metaError.message : "Unknown error");
|
|
110
|
-
logMeta = {
|
|
111
|
-
component: this.componentName,
|
|
112
|
-
correlationId,
|
|
113
|
-
_metaError: "Failed to process metadata",
|
|
114
|
-
};
|
|
115
|
-
}
|
|
55
|
+
let logMeta = {
|
|
56
|
+
component: this.componentName,
|
|
57
|
+
correlationId,
|
|
58
|
+
...(entry.meta ?? {}),
|
|
59
|
+
};
|
|
116
60
|
this.winstonLogger.log(entry.level, entry.message, logMeta);
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
61
|
+
this.jsonizer.appendLog(correlationId, {
|
|
62
|
+
timestamp: new Date().toISOString(),
|
|
63
|
+
level: entry.level,
|
|
64
|
+
message: entry.message,
|
|
65
|
+
meta: logMeta,
|
|
66
|
+
});
|
|
67
|
+
const logs = {
|
|
68
|
+
...entry,
|
|
69
|
+
projectName: this.projectName,
|
|
70
|
+
component: this.componentName,
|
|
71
|
+
correlationId,
|
|
72
|
+
};
|
|
73
|
+
if (entry.send && this.environment == "prod") {
|
|
74
|
+
// console.log("sending to he server")
|
|
75
|
+
this.serverTransporter.transport(logs);
|
|
76
|
+
}
|
|
125
77
|
}
|
|
126
78
|
catch (error) {
|
|
127
|
-
// Silent failure - logger should never crash the application
|
|
128
|
-
// Log to console as last resort
|
|
129
79
|
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
130
80
|
console.error(`[Logiscout] Critical: Logger failed to write log: ${errorMessage}`);
|
|
131
81
|
}
|
|
@@ -133,22 +83,17 @@ class Logger {
|
|
|
133
83
|
getWinstonLogger() {
|
|
134
84
|
return this.winstonLogger;
|
|
135
85
|
}
|
|
136
|
-
getLogEntry(message, logLevel, meta) {
|
|
86
|
+
getLogEntry(message, logLevel, meta, options) {
|
|
137
87
|
// Validate message
|
|
138
|
-
|
|
139
|
-
throw new Error(`Logger: Message must be a non-empty string. ` +
|
|
140
|
-
`Received: ${typeof message === "undefined" ? "undefined" : typeof message}`);
|
|
141
|
-
}
|
|
88
|
+
(0, ValidateLogMessage_js_1.default)(message);
|
|
142
89
|
// Validate log level
|
|
143
|
-
|
|
144
|
-
throw new Error(`Logger: Invalid log level '${logLevel}'. ` +
|
|
145
|
-
`Valid levels: ${Object.values(LogLevels_js_1.LogLevels).join(", ")}`);
|
|
146
|
-
}
|
|
90
|
+
(0, ValidateLogLevel_js_1.default)(logLevel);
|
|
147
91
|
const entry = {
|
|
148
92
|
message,
|
|
149
93
|
meta,
|
|
150
94
|
timestamp: new Date().toISOString(),
|
|
151
95
|
level: logLevel,
|
|
96
|
+
send: options?.send ?? true,
|
|
152
97
|
};
|
|
153
98
|
return entry;
|
|
154
99
|
}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import { Logger as WinstonLogger } from "winston";
|
|
2
2
|
import { LogEntry } from "../../core/types/LogEntry.js";
|
|
3
3
|
import { LogLevels } from "../../core/enum/LogLevels.js";
|
|
4
|
+
import { LogiscoutConfig } from "../../initiator/state.js";
|
|
4
5
|
export declare abstract class Logger {
|
|
5
6
|
protected winstonLogger: WinstonLogger;
|
|
6
7
|
private componentName;
|
|
7
|
-
|
|
8
|
+
private projectName;
|
|
9
|
+
private environment;
|
|
10
|
+
private readonly jsonizer;
|
|
11
|
+
private readonly serverTransporter;
|
|
12
|
+
private readonly consoleTransporter;
|
|
13
|
+
constructor(componentName: string, config: LogiscoutConfig);
|
|
8
14
|
protected log(entry: LogEntry): void;
|
|
9
15
|
getWinstonLogger(): WinstonLogger;
|
|
10
|
-
protected getLogEntry(message: string, logLevel: LogLevels, meta?: Record<string, unknown
|
|
16
|
+
protected getLogEntry(message: string, logLevel: LogLevels, meta?: Record<string, unknown>, options?: {
|
|
17
|
+
send?: boolean;
|
|
18
|
+
}): LogEntry;
|
|
11
19
|
}
|
|
12
20
|
//# sourceMappingURL=Logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../../../src/services/Logger/Logger.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,MAAM,IAAI,aAAa,EAAsB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../../../src/services/Logger/Logger.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,MAAM,IAAI,aAAa,EAAsB,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAW3D,8BAAsB,MAAM;IAC1B,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAmB;gBAE1C,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe;IA6B1D,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IA0CpC,gBAAgB,IAAI,aAAa;IAIjC,SAAS,CAAC,WAAW,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,SAAS,EACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3B,QAAQ;CAgBZ"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConsoleFormatter = void 0;
|
|
4
|
+
const LevelsColors_js_1 = require("../../core/constants/Levels/LevelsColors.cjs");
|
|
5
|
+
const RESET = "\x1b[0m";
|
|
6
|
+
class ConsoleFormatter {
|
|
7
|
+
format(data) {
|
|
8
|
+
const { level, message, timestamp, component, meta } = data;
|
|
9
|
+
const color = LevelsColors_js_1.LEVEL_COLORS[level] ?? "";
|
|
10
|
+
const levelLabel = `${color}${level.toUpperCase()}${RESET}`;
|
|
11
|
+
const componentLabel = component ?? "App";
|
|
12
|
+
let output = `${timestamp} ` +
|
|
13
|
+
`[${levelLabel}] ` +
|
|
14
|
+
`[${componentLabel}] ` +
|
|
15
|
+
`${message}`;
|
|
16
|
+
if (meta && Object.keys(meta).length > 0) {
|
|
17
|
+
output += `\n${this.prettyJson(meta)}`;
|
|
18
|
+
}
|
|
19
|
+
return output;
|
|
20
|
+
}
|
|
21
|
+
prettyJson(obj) {
|
|
22
|
+
try {
|
|
23
|
+
return JSON.stringify(obj, null, 2);
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return "{ \"error\": \"Failed to serialize metadata\" }";
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.ConsoleFormatter = ConsoleFormatter;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LogLevels } from "../../core/enum/LogLevels.js";
|
|
2
|
+
export declare class ConsoleFormatter {
|
|
3
|
+
format(data: {
|
|
4
|
+
level: LogLevels;
|
|
5
|
+
message: string;
|
|
6
|
+
timestamp: string;
|
|
7
|
+
component?: string;
|
|
8
|
+
meta?: Record<string, unknown>;
|
|
9
|
+
}): string;
|
|
10
|
+
private prettyJson;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=ConsoleFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleFormatter.d.ts","sourceRoot":"","sources":["../../../../src/services/formatters/ConsoleFormatter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAIzD,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,IAAI,EAAE;QACX,KAAK,EAAE,SAAS,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,GAAG,MAAM;IAoBV,OAAO,CAAC,UAAU;CAOnB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Jsonizer = void 0;
|
|
4
|
+
const CorrelationStore_js_1 = require("../../core/store/CorrelationStore.cjs");
|
|
5
|
+
class Jsonizer {
|
|
6
|
+
projectName;
|
|
7
|
+
environment;
|
|
8
|
+
componentName;
|
|
9
|
+
constructor(config) {
|
|
10
|
+
this.projectName = config.projectName;
|
|
11
|
+
this.environment = config.environment;
|
|
12
|
+
this.componentName = config.componentName;
|
|
13
|
+
}
|
|
14
|
+
appendLog(correlationId, entry) {
|
|
15
|
+
const session = (0, CorrelationStore_js_1.getOrCreateSession)(correlationId, {
|
|
16
|
+
projectName: this.projectName,
|
|
17
|
+
environment: this.environment,
|
|
18
|
+
correlationId,
|
|
19
|
+
component: this.componentName,
|
|
20
|
+
});
|
|
21
|
+
session.logs.push({
|
|
22
|
+
timestamp: new Date().toISOString(),
|
|
23
|
+
level: entry.level,
|
|
24
|
+
message: entry.message,
|
|
25
|
+
meta: entry.meta ?? {},
|
|
26
|
+
component: this.componentName,
|
|
27
|
+
});
|
|
28
|
+
return session;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.Jsonizer = Jsonizer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CorrelationSession } from "../../core/interface/CorrelationSession.js";
|
|
2
|
+
import { JsonizerConfig } from "../../core/interface/JsonzierConfig.js";
|
|
3
|
+
import { LogEntry } from "../../core/types/LogEntry.js";
|
|
4
|
+
export declare class Jsonizer {
|
|
5
|
+
private readonly projectName;
|
|
6
|
+
private readonly environment;
|
|
7
|
+
private readonly componentName;
|
|
8
|
+
constructor(config: JsonizerConfig);
|
|
9
|
+
appendLog(correlationId: string, entry: LogEntry): CorrelationSession;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=Jsonizer.d.ts.map
|