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
package/dist/esm/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/esm/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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
export { LogLevels } from "./core/enum/LogLevels.js";
|
|
2
2
|
export { Levels } from "./services/Levels/Levels.js";
|
|
3
3
|
export { Logger as BaseLogger } from "./services/Logger/Logger.js";
|
|
4
|
+
import { getLogiScouConfig } from "./initiator/state.js";
|
|
4
5
|
import { Levels } from "./services/Levels/Levels.js";
|
|
5
6
|
// const Logger = new Levels();
|
|
6
|
-
export const createLogger = (component) =>
|
|
7
|
+
// export const createLogger = (component: string) =>
|
|
8
|
+
// new Levels(component);
|
|
9
|
+
export { initLogiscout } from "./init.js";
|
|
10
|
+
export const createLogger = (component) => {
|
|
11
|
+
const config = getLogiScouConfig();
|
|
12
|
+
return new Levels(component, {
|
|
13
|
+
projectName: config.projectName,
|
|
14
|
+
environment: config.environment,
|
|
15
|
+
});
|
|
16
|
+
};
|
|
7
17
|
export { createCorrelationMiddleware } from "./middlewares/correlationMiddleware.js";
|
|
8
18
|
// export { Logger };
|
|
@@ -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"}
|
package/dist/esm/init.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { setConfig } from "./initiator/state.js";
|
|
2
|
+
export function initLogiscout(config) {
|
|
3
|
+
if (!config.projectName) {
|
|
4
|
+
throw new Error("projectName is required");
|
|
5
|
+
}
|
|
6
|
+
if (!config.environment) {
|
|
7
|
+
throw new Error("environment is required");
|
|
8
|
+
}
|
|
9
|
+
setConfig(config);
|
|
10
|
+
}
|
|
@@ -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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
let config = null;
|
|
2
|
+
export function setConfig(c) {
|
|
3
|
+
if (config) {
|
|
4
|
+
throw new Error("Logiscout has already been initialized");
|
|
5
|
+
}
|
|
6
|
+
config = c;
|
|
7
|
+
}
|
|
8
|
+
export function getLogiScouConfig() {
|
|
9
|
+
if (!config) {
|
|
10
|
+
throw new Error("Logiscout is not initialized. Call initLogiscout() before using the SDK.");
|
|
11
|
+
}
|
|
12
|
+
return config;
|
|
13
|
+
}
|
|
@@ -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"}
|
|
@@ -1,61 +1,31 @@
|
|
|
1
1
|
import { RequestContext } from "../core/context/RequestContext.js";
|
|
2
|
-
import
|
|
3
|
-
|
|
2
|
+
import { endSession, getOrCreateSession, removeSession, } from "../core/store/CorrelationStore.js";
|
|
3
|
+
import { getLogiScouConfig } from "../initiator/state.js";
|
|
4
|
+
import { ServerTransporter } from "../services/transporter/ServerTransporter.js";
|
|
5
|
+
const serverTransporter = new ServerTransporter();
|
|
6
|
+
export function createCorrelationMiddleware() {
|
|
4
7
|
return (req, res, next) => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
// Validate correlation ID
|
|
28
|
-
if (!correlationId || typeof correlationId !== "string") {
|
|
29
|
-
console.error("[CorrelationMiddleware] Error: Failed to generate or retrieve correlation ID");
|
|
30
|
-
next?.(new Error("Correlation ID generation failed"));
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
if (correlationId.length > 100) {
|
|
34
|
-
console.warn("[CorrelationMiddleware] Warning: Correlation ID exceeds 100 characters and will be truncated");
|
|
35
|
-
}
|
|
36
|
-
// Run the remaining middleware in the request context
|
|
37
|
-
RequestContext.run(() => {
|
|
38
|
-
// Safely set the correlation ID header
|
|
39
|
-
try {
|
|
40
|
-
if (res.setHeader) {
|
|
41
|
-
res.setHeader("x-correlation-id", correlationId);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
catch (headerError) {
|
|
45
|
-
// setHeader might fail in some edge cases, don't block the request
|
|
46
|
-
console.warn("[CorrelationMiddleware] Warning: Could not set x-correlation-id header", headerError instanceof Error ? headerError.message : "Unknown error");
|
|
47
|
-
}
|
|
48
|
-
// Store correlation ID in response locals for downstream access
|
|
49
|
-
if (res.locals) {
|
|
50
|
-
res.locals.correlationId = correlationId;
|
|
51
|
-
}
|
|
52
|
-
next?.();
|
|
53
|
-
}, correlationId);
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
57
|
-
console.error(`[CorrelationMiddleware] Error: Failed to initialize request context. ${errorMessage}`);
|
|
58
|
-
next?.(error instanceof Error ? error : new Error("Request context initialization failed"));
|
|
59
|
-
}
|
|
8
|
+
const correlationId = req.headers["x-correlation-id"] ?? crypto.randomUUID();
|
|
9
|
+
RequestContext.run(() => {
|
|
10
|
+
const session = getOrCreateSession(correlationId, {
|
|
11
|
+
projectName: getLogiScouConfig().projectName,
|
|
12
|
+
environment: getLogiScouConfig().environment,
|
|
13
|
+
correlationId,
|
|
14
|
+
request: {
|
|
15
|
+
method: req.method,
|
|
16
|
+
path: req.originalUrl || req.url,
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
res.setHeader("x-correlation-id", correlationId);
|
|
20
|
+
console.log("----- SENDING TO THE SERVER-----------");
|
|
21
|
+
res.on("finish", () => {
|
|
22
|
+
session.request.statusCode = res.statusCode;
|
|
23
|
+
const payload = endSession(correlationId);
|
|
24
|
+
if (payload)
|
|
25
|
+
serverTransporter.transport(payload);
|
|
26
|
+
removeSession(correlationId);
|
|
27
|
+
});
|
|
28
|
+
next();
|
|
29
|
+
}, correlationId);
|
|
60
30
|
};
|
|
61
|
-
}
|
|
31
|
+
}
|
|
@@ -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,24 +1,24 @@
|
|
|
1
1
|
import { Logger } from "../Logger/Logger.js";
|
|
2
2
|
import { LogLevels } from "../../core/enum/LogLevels.js";
|
|
3
3
|
export class Levels extends Logger {
|
|
4
|
-
info(message, meta) {
|
|
5
|
-
const entry = this.getLogEntry(message, LogLevels.INFO, meta);
|
|
4
|
+
info(message, meta, options) {
|
|
5
|
+
const entry = this.getLogEntry(message, LogLevels.INFO, meta, options);
|
|
6
6
|
this.log(entry);
|
|
7
7
|
}
|
|
8
|
-
warn(message, meta) {
|
|
9
|
-
const entry = this.getLogEntry(message, LogLevels.WARN, meta);
|
|
8
|
+
warn(message, meta, options) {
|
|
9
|
+
const entry = this.getLogEntry(message, LogLevels.WARN, meta, options);
|
|
10
10
|
this.log(entry);
|
|
11
11
|
}
|
|
12
|
-
error(message, meta) {
|
|
13
|
-
const entry = this.getLogEntry(message, LogLevels.ERROR, meta);
|
|
12
|
+
error(message, meta, options) {
|
|
13
|
+
const entry = this.getLogEntry(message, LogLevels.ERROR, meta, options);
|
|
14
14
|
this.log(entry);
|
|
15
15
|
}
|
|
16
|
-
debug(message, meta) {
|
|
17
|
-
const entry = this.getLogEntry(message, LogLevels.DEBUG, meta);
|
|
16
|
+
debug(message, meta, options) {
|
|
17
|
+
const entry = this.getLogEntry(message, LogLevels.DEBUG, meta, options);
|
|
18
18
|
this.log(entry);
|
|
19
19
|
}
|
|
20
|
-
critical(message, meta) {
|
|
21
|
-
const entry = this.getLogEntry(message, LogLevels.CRITICAL, meta);
|
|
20
|
+
critical(message, meta, options) {
|
|
21
|
+
const entry = this.getLogEntry(message, LogLevels.CRITICAL, meta, options);
|
|
22
22
|
this.log(entry);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -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"}
|
|
@@ -1,95 +1,75 @@
|
|
|
1
|
-
import winston
|
|
1
|
+
import winston from "winston";
|
|
2
2
|
import { LogLevels } from "../../core/enum/LogLevels.js";
|
|
3
3
|
import { RequestContext } from "../../core/context/RequestContext.js";
|
|
4
|
+
import { ConsoleTransporter } from "../transporter/ConsoleTranspoter.js";
|
|
5
|
+
import { LOG_LEVEL_SEVERITY } from "../../core/constants/Levels/LevelsSeverity.js";
|
|
6
|
+
import validateComponentName from "../../validator/ValidateComponentName.js";
|
|
7
|
+
import { throwError } from "../../errors/ThrowError.js";
|
|
8
|
+
import validateLogEntry from "../../validator/ValidateLogEntry.js";
|
|
9
|
+
import validateLogMessage from "../../validator/ValidateLogMessage.js";
|
|
10
|
+
import validateLogLevel from "../../validator/ValidateLogLevel.js";
|
|
11
|
+
import { Jsonizer } from "../processors/Jsonizer.js";
|
|
12
|
+
import { ServerTransporter } from "../transporter/ServerTransporter.js";
|
|
4
13
|
export class Logger {
|
|
5
14
|
winstonLogger;
|
|
6
15
|
componentName;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
throw new Error("Logger: Component name cannot exceed 100 characters. " +
|
|
15
|
-
`Received: '${componentName.substring(0, 20)}...'`);
|
|
16
|
-
}
|
|
16
|
+
projectName;
|
|
17
|
+
environment;
|
|
18
|
+
jsonizer;
|
|
19
|
+
serverTransporter;
|
|
20
|
+
consoleTransporter;
|
|
21
|
+
constructor(componentName, config) {
|
|
22
|
+
validateComponentName(componentName);
|
|
17
23
|
this.componentName = componentName;
|
|
24
|
+
this.projectName = config.projectName;
|
|
25
|
+
this.environment = config.environment;
|
|
26
|
+
this.jsonizer = new Jsonizer({
|
|
27
|
+
projectName: this.projectName,
|
|
28
|
+
environment: this.environment,
|
|
29
|
+
componentName: this.componentName,
|
|
30
|
+
});
|
|
31
|
+
this.serverTransporter = new ServerTransporter();
|
|
32
|
+
this.consoleTransporter = new ConsoleTransporter();
|
|
18
33
|
try {
|
|
19
34
|
this.winstonLogger = winston.createLogger({
|
|
20
|
-
level:
|
|
21
|
-
levels:
|
|
22
|
-
|
|
23
|
-
warn: 1,
|
|
24
|
-
info: 2,
|
|
25
|
-
debug: 3,
|
|
26
|
-
},
|
|
27
|
-
format: format.combine(format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), format.printf(({ timestamp, level, message, component, correlationId, ...meta }) => {
|
|
28
|
-
const metaString = Object.keys(meta).length > 0 ? ` ${JSON.stringify(meta)}` : "";
|
|
29
|
-
return `[${component}] [${timestamp}] [${level.toUpperCase()}] [${correlationId}] ${message}${metaString}`;
|
|
30
|
-
})),
|
|
31
|
-
transports: [
|
|
32
|
-
new transports.Console({
|
|
33
|
-
format: format.combine(format.colorize({ all: true }), format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }), format.printf(({ timestamp, level, message, ...meta }) => {
|
|
34
|
-
const metaString = Object.keys(meta).length > 0 ? ` ${JSON.stringify(meta)}` : "";
|
|
35
|
-
return `[${componentName}] [${timestamp}] [${level}] ${message}${metaString}`;
|
|
36
|
-
})),
|
|
37
|
-
}),
|
|
38
|
-
],
|
|
35
|
+
level: LogLevels.DEBUG,
|
|
36
|
+
levels: LOG_LEVEL_SEVERITY,
|
|
37
|
+
transports: [this.consoleTransporter.transport()],
|
|
39
38
|
});
|
|
40
39
|
}
|
|
41
40
|
catch (error) {
|
|
42
|
-
|
|
41
|
+
throwError(`Logger: Failed to initialize Winston logger. ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
43
42
|
}
|
|
44
43
|
}
|
|
45
44
|
log(entry) {
|
|
46
45
|
try {
|
|
47
46
|
// Validate log entry
|
|
48
|
-
|
|
49
|
-
console.error("[Logiscout] Error: Log entry is undefined or null");
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
if (!entry.message || typeof entry.message !== "string") {
|
|
53
|
-
console.error("[Logiscout] Error: Log message must be a non-empty string. " +
|
|
54
|
-
`Usage: logiscout.${entry.level}('Your message', { meta })`);
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
if (entry.message.length > 10000) {
|
|
58
|
-
console.error("[Logiscout] Error: Log message exceeds 10000 characters. " +
|
|
59
|
-
"Message truncated for logging.");
|
|
60
|
-
entry.message = entry.message.substring(0, 10000) + "... [truncated]";
|
|
61
|
-
}
|
|
47
|
+
validateLogEntry(entry);
|
|
62
48
|
const correlationId = RequestContext.getCorrelationId() ?? "no-correlation-id";
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
correlationId,
|
|
69
|
-
...entry.meta,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
catch (metaError) {
|
|
73
|
-
console.error("[Logiscout] Error: Failed to process metadata. Logging without metadata.", metaError instanceof Error ? metaError.message : "Unknown error");
|
|
74
|
-
logMeta = {
|
|
75
|
-
component: this.componentName,
|
|
76
|
-
correlationId,
|
|
77
|
-
_metaError: "Failed to process metadata",
|
|
78
|
-
};
|
|
79
|
-
}
|
|
49
|
+
let logMeta = {
|
|
50
|
+
component: this.componentName,
|
|
51
|
+
correlationId,
|
|
52
|
+
...(entry.meta ?? {}),
|
|
53
|
+
};
|
|
80
54
|
this.winstonLogger.log(entry.level, entry.message, logMeta);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
55
|
+
this.jsonizer.appendLog(correlationId, {
|
|
56
|
+
timestamp: new Date().toISOString(),
|
|
57
|
+
level: entry.level,
|
|
58
|
+
message: entry.message,
|
|
59
|
+
meta: logMeta,
|
|
60
|
+
});
|
|
61
|
+
const logs = {
|
|
62
|
+
...entry,
|
|
63
|
+
projectName: this.projectName,
|
|
64
|
+
component: this.componentName,
|
|
65
|
+
correlationId,
|
|
66
|
+
};
|
|
67
|
+
if (entry.send && this.environment == "prod") {
|
|
68
|
+
// console.log("sending to he server")
|
|
69
|
+
this.serverTransporter.transport(logs);
|
|
70
|
+
}
|
|
89
71
|
}
|
|
90
72
|
catch (error) {
|
|
91
|
-
// Silent failure - logger should never crash the application
|
|
92
|
-
// Log to console as last resort
|
|
93
73
|
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
94
74
|
console.error(`[Logiscout] Critical: Logger failed to write log: ${errorMessage}`);
|
|
95
75
|
}
|
|
@@ -97,22 +77,17 @@ export class Logger {
|
|
|
97
77
|
getWinstonLogger() {
|
|
98
78
|
return this.winstonLogger;
|
|
99
79
|
}
|
|
100
|
-
getLogEntry(message, logLevel, meta) {
|
|
80
|
+
getLogEntry(message, logLevel, meta, options) {
|
|
101
81
|
// Validate message
|
|
102
|
-
|
|
103
|
-
throw new Error(`Logger: Message must be a non-empty string. ` +
|
|
104
|
-
`Received: ${typeof message === "undefined" ? "undefined" : typeof message}`);
|
|
105
|
-
}
|
|
82
|
+
validateLogMessage(message);
|
|
106
83
|
// Validate log level
|
|
107
|
-
|
|
108
|
-
throw new Error(`Logger: Invalid log level '${logLevel}'. ` +
|
|
109
|
-
`Valid levels: ${Object.values(LogLevels).join(", ")}`);
|
|
110
|
-
}
|
|
84
|
+
validateLogLevel(logLevel);
|
|
111
85
|
const entry = {
|
|
112
86
|
message,
|
|
113
87
|
meta,
|
|
114
88
|
timestamp: new Date().toISOString(),
|
|
115
89
|
level: logLevel,
|
|
90
|
+
send: options?.send ?? true,
|
|
116
91
|
};
|
|
117
92
|
return entry;
|
|
118
93
|
}
|
|
@@ -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,26 @@
|
|
|
1
|
+
import { LEVEL_COLORS } from "../../core/constants/Levels/LevelsColors.js";
|
|
2
|
+
const RESET = "\x1b[0m";
|
|
3
|
+
export class ConsoleFormatter {
|
|
4
|
+
format(data) {
|
|
5
|
+
const { level, message, timestamp, component, meta } = data;
|
|
6
|
+
const color = LEVEL_COLORS[level] ?? "";
|
|
7
|
+
const levelLabel = `${color}${level.toUpperCase()}${RESET}`;
|
|
8
|
+
const componentLabel = component ?? "App";
|
|
9
|
+
let output = `${timestamp} ` +
|
|
10
|
+
`[${levelLabel}] ` +
|
|
11
|
+
`[${componentLabel}] ` +
|
|
12
|
+
`${message}`;
|
|
13
|
+
if (meta && Object.keys(meta).length > 0) {
|
|
14
|
+
output += `\n${this.prettyJson(meta)}`;
|
|
15
|
+
}
|
|
16
|
+
return output;
|
|
17
|
+
}
|
|
18
|
+
prettyJson(obj) {
|
|
19
|
+
try {
|
|
20
|
+
return JSON.stringify(obj, null, 2);
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return "{ \"error\": \"Failed to serialize metadata\" }";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Jsonizer.d.ts","sourceRoot":"","sources":["../../../../src/services/processors/Jsonizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAKxD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,MAAM,EAAE,cAAc;IAM3B,SAAS,CACd,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,QAAQ,GACd,kBAAkB;CAkBtB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { getOrCreateSession } from "../../core/store/CorrelationStore.js";
|
|
2
|
+
export class Jsonizer {
|
|
3
|
+
projectName;
|
|
4
|
+
environment;
|
|
5
|
+
componentName;
|
|
6
|
+
constructor(config) {
|
|
7
|
+
this.projectName = config.projectName;
|
|
8
|
+
this.environment = config.environment;
|
|
9
|
+
this.componentName = config.componentName;
|
|
10
|
+
}
|
|
11
|
+
appendLog(correlationId, entry) {
|
|
12
|
+
const session = getOrCreateSession(correlationId, {
|
|
13
|
+
projectName: this.projectName,
|
|
14
|
+
environment: this.environment,
|
|
15
|
+
correlationId,
|
|
16
|
+
component: this.componentName,
|
|
17
|
+
});
|
|
18
|
+
session.logs.push({
|
|
19
|
+
timestamp: new Date().toISOString(),
|
|
20
|
+
level: entry.level,
|
|
21
|
+
message: entry.message,
|
|
22
|
+
meta: entry.meta ?? {},
|
|
23
|
+
component: this.componentName,
|
|
24
|
+
});
|
|
25
|
+
return session;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleTranspoter.d.ts","sourceRoot":"","sources":["../../../../src/services/transporter/ConsoleTranspoter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAE,MAAM,SAAS,CAAC;AAGhD,qBAAa,kBAAkB;IAC7B,SAAS,IAAI,SAAS;CAKvB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CorrelationSession, NonCorrelationSession } from "../../core/interface/CorrelationSession.js";
|
|
2
|
+
type AnySession = CorrelationSession | NonCorrelationSession;
|
|
3
|
+
export declare class ServerTransporter {
|
|
4
|
+
transport(session: AnySession): void;
|
|
5
|
+
private sendCorrelation;
|
|
6
|
+
private sendSingle;
|
|
7
|
+
private isFrontendSession;
|
|
8
|
+
}
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=ServerTransporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerTransporter.d.ts","sourceRoot":"","sources":["../../../../src/services/transporter/ServerTransporter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,4CAA4C,CAAC;AAEpD,KAAK,UAAU,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;AAE7D,qBAAa,iBAAiB;IAC5B,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IASpC,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,iBAAiB;CAM1B"}
|