bootifyjs 0.1.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.d.ts +8 -27
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +68 -134
- package/dist/api.js.map +1 -1
- package/dist/cache/bootstrap.d.ts +6 -0
- package/dist/cache/bootstrap.d.ts.map +1 -0
- package/dist/cache/bootstrap.js +23 -0
- package/dist/cache/bootstrap.js.map +1 -0
- package/dist/cache/cache.service.d.ts +9 -0
- package/dist/cache/cache.service.d.ts.map +1 -0
- package/dist/cache/cache.service.js +40 -0
- package/dist/cache/cache.service.js.map +1 -0
- package/dist/cache/cache.types.d.ts +14 -0
- package/dist/cache/cache.types.d.ts.map +1 -0
- package/dist/cache/cache.types.js +8 -0
- package/dist/cache/cache.types.js.map +1 -0
- package/dist/cache/decorators.d.ts +12 -0
- package/dist/cache/decorators.d.ts.map +1 -0
- package/dist/cache/decorators.js +53 -0
- package/dist/cache/decorators.js.map +1 -0
- package/dist/cache/in-memory-cache.store.d.ts +8 -0
- package/dist/cache/in-memory-cache.store.d.ts.map +1 -0
- package/dist/cache/in-memory-cache.store.js +39 -0
- package/dist/cache/in-memory-cache.store.js.map +1 -0
- package/dist/cache/index.d.ts +5 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +21 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/core/component-registry.d.ts +7 -0
- package/dist/core/component-registry.d.ts.map +1 -0
- package/dist/core/component-registry.js +9 -0
- package/dist/core/component-registry.js.map +1 -0
- package/dist/core/decorators.d.ts +38 -22
- package/dist/core/decorators.d.ts.map +1 -0
- package/dist/core/decorators.js +155 -174
- package/dist/core/decorators.js.map +1 -1
- package/dist/core/di-container.d.ts +31 -0
- package/dist/core/di-container.d.ts.map +1 -0
- package/dist/core/di-container.js +219 -0
- package/dist/core/di-container.js.map +1 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +21 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/request-context.service.d.ts +24 -0
- package/dist/core/request-context.service.d.ts.map +1 -0
- package/dist/core/request-context.service.js +52 -0
- package/dist/core/request-context.service.js.map +1 -0
- package/dist/core/router.d.ts +4 -32
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/router.js +81 -258
- package/dist/core/router.js.map +1 -1
- package/dist/events/bootstrap.d.ts +8 -0
- package/dist/events/bootstrap.d.ts.map +1 -0
- package/dist/events/bootstrap.js +37 -0
- package/dist/events/bootstrap.js.map +1 -0
- package/dist/events/decorators.d.ts +16 -0
- package/dist/events/decorators.d.ts.map +1 -0
- package/dist/events/decorators.js +37 -0
- package/dist/events/decorators.js.map +1 -0
- package/dist/events/event-bus.service.d.ts +21 -0
- package/dist/events/event-bus.service.d.ts.map +1 -0
- package/dist/events/event-bus.service.js +78 -0
- package/dist/events/event-bus.service.js.map +1 -0
- package/dist/events/event.types.d.ts +17 -0
- package/dist/events/event.types.d.ts.map +1 -0
- package/dist/events/event.types.js.map +1 -0
- package/dist/events/index.d.ts +5 -13
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +4 -54
- package/dist/events/index.js.map +1 -1
- package/dist/examples/controllers/health.controller.d.ts +7 -0
- package/dist/examples/controllers/health.controller.d.ts.map +1 -0
- package/dist/{events/examples/system.events.js → examples/controllers/health.controller.js} +16 -15
- package/dist/examples/controllers/health.controller.js.map +1 -0
- package/dist/examples/controllers/todo.controller.d.ts +31 -0
- package/dist/examples/controllers/todo.controller.d.ts.map +1 -0
- package/dist/examples/controllers/todo.controller.js +102 -0
- package/dist/examples/controllers/todo.controller.js.map +1 -0
- package/dist/examples/events/TodoEventHandler.d.ts +2 -0
- package/dist/examples/events/TodoEventHandler.d.ts.map +1 -0
- package/dist/examples/events/TodoEventHandler.js +31 -0
- package/dist/examples/events/TodoEventHandler.js.map +1 -0
- package/dist/examples/events/todo.events.d.ts +16 -0
- package/dist/examples/events/todo.events.d.ts.map +1 -0
- package/dist/examples/events/todo.events.js +13 -0
- package/dist/examples/events/todo.events.js.map +1 -0
- package/dist/examples/index.d.ts +2 -0
- package/dist/examples/index.d.ts.map +1 -0
- package/dist/examples/index.js +35 -0
- package/dist/examples/index.js.map +1 -0
- package/dist/examples/repositories/todo.repository.d.ts +20 -0
- package/dist/examples/repositories/todo.repository.d.ts.map +1 -0
- package/dist/examples/repositories/todo.repository.js +33 -0
- package/dist/examples/repositories/todo.repository.js.map +1 -0
- package/dist/examples/services/todo.service.d.ts +33 -0
- package/dist/examples/services/todo.service.d.ts.map +1 -0
- package/dist/examples/services/todo.service.js +80 -0
- package/dist/examples/services/todo.service.js.map +1 -0
- package/dist/examples/todos/schema.d.ts +54 -0
- package/dist/examples/todos/schema.d.ts.map +1 -0
- package/dist/examples/todos/schema.js +20 -0
- package/dist/examples/todos/schema.js.map +1 -0
- package/dist/index.d.ts +7 -17
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -95
- package/dist/index.js.map +1 -1
- package/dist/logging/config/logging.config.d.ts +31 -3
- package/dist/logging/config/logging.config.d.ts.map +1 -0
- package/dist/logging/config/logging.config.js +43 -93
- package/dist/logging/config/logging.config.js.map +1 -1
- package/dist/logging/core/decorators.d.ts +16 -0
- package/dist/logging/core/decorators.d.ts.map +1 -0
- package/dist/logging/core/decorators.js +74 -0
- package/dist/logging/core/decorators.js.map +1 -0
- package/dist/logging/core/logger.provider.d.ts +4 -0
- package/dist/logging/core/logger.provider.d.ts.map +1 -0
- package/dist/logging/core/logger.provider.js +68 -0
- package/dist/logging/core/logger.provider.js.map +1 -0
- package/dist/logging/core/logger.service.d.ts +9 -27
- package/dist/logging/core/logger.service.d.ts.map +1 -0
- package/dist/logging/core/logger.service.js +34 -164
- package/dist/logging/core/logger.service.js.map +1 -1
- package/dist/logging/core/{startup-logger.service.d.ts → startup.logger.d.ts} +4 -6
- package/dist/logging/core/startup.logger.d.ts.map +1 -0
- package/dist/logging/core/{startup-logger.service.js → startup.logger.js} +36 -42
- package/dist/logging/core/startup.logger.js.map +1 -0
- package/dist/logging/index.d.ts +7 -14
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +17 -28
- package/dist/logging/index.js.map +1 -1
- package/dist/middleware/auth.middleware.d.ts +3 -0
- package/dist/middleware/auth.middleware.d.ts.map +1 -0
- package/dist/middleware/auth.middleware.js +18 -0
- package/dist/middleware/auth.middleware.js.map +1 -0
- package/dist/middleware/context.middleware.d.ts +7 -0
- package/dist/middleware/context.middleware.d.ts.map +1 -0
- package/dist/middleware/context.middleware.js +25 -0
- package/dist/middleware/context.middleware.js.map +1 -0
- package/dist/middleware/index.d.ts +4 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +20 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/request-logger.middleware.d.ts +4 -0
- package/dist/middleware/request-logger.middleware.d.ts.map +1 -0
- package/dist/middleware/request-logger.middleware.js +18 -0
- package/dist/middleware/request-logger.middleware.js.map +1 -0
- package/package.json +52 -47
- package/LICENSE +0 -21
- package/README.md +0 -423
- package/dist/config/app.config.d.ts +0 -29
- package/dist/config/app.config.js +0 -55
- package/dist/config/app.config.js.map +0 -1
- package/dist/controllers/config.controller.d.ts +0 -16
- package/dist/controllers/config.controller.js +0 -66
- package/dist/controllers/config.controller.js.map +0 -1
- package/dist/controllers/events.controller.d.ts +0 -66
- package/dist/controllers/events.controller.js +0 -145
- package/dist/controllers/events.controller.js.map +0 -1
- package/dist/controllers/health.controller.d.ts +0 -20
- package/dist/controllers/health.controller.js +0 -92
- package/dist/controllers/health.controller.js.map +0 -1
- package/dist/controllers/user.controller.d.ts +0 -13
- package/dist/controllers/user.controller.js +0 -209
- package/dist/controllers/user.controller.js.map +0 -1
- package/dist/core/application.d.ts +0 -21
- package/dist/core/application.js +0 -90
- package/dist/core/application.js.map +0 -1
- package/dist/core/config.d.ts +0 -3
- package/dist/core/config.js +0 -78
- package/dist/core/config.js.map +0 -1
- package/dist/core/container.d.ts +0 -17
- package/dist/core/container.js +0 -92
- package/dist/core/container.js.map +0 -1
- package/dist/core/errors.d.ts +0 -18
- package/dist/core/errors.js +0 -74
- package/dist/core/errors.js.map +0 -1
- package/dist/core/middleware.d.ts +0 -8
- package/dist/core/middleware.js +0 -23
- package/dist/core/middleware.js.map +0 -1
- package/dist/core/openapi.d.ts +0 -80
- package/dist/core/openapi.js +0 -189
- package/dist/core/openapi.js.map +0 -1
- package/dist/core/utils.d.ts +0 -7
- package/dist/core/utils.js +0 -75
- package/dist/core/utils.js.map +0 -1
- package/dist/core/validation.d.ts +0 -15
- package/dist/core/validation.js +0 -161
- package/dist/core/validation.js.map +0 -1
- package/dist/events/core/event-bus.d.ts +0 -26
- package/dist/events/core/event-bus.js +0 -253
- package/dist/events/core/event-bus.js.map +0 -1
- package/dist/events/core/event-registry.d.ts +0 -31
- package/dist/events/core/event-registry.js +0 -170
- package/dist/events/core/event-registry.js.map +0 -1
- package/dist/events/decorators/event.decorators.d.ts +0 -11
- package/dist/events/decorators/event.decorators.js +0 -123
- package/dist/events/decorators/event.decorators.js.map +0 -1
- package/dist/events/examples/system.events.d.ts +0 -15
- package/dist/events/examples/system.events.js.map +0 -1
- package/dist/events/examples/user.events.d.ts +0 -68
- package/dist/events/examples/user.events.js +0 -73
- package/dist/events/examples/user.events.js.map +0 -1
- package/dist/events/examples/user.handlers.d.ts +0 -20
- package/dist/events/examples/user.handlers.js +0 -157
- package/dist/events/examples/user.handlers.js.map +0 -1
- package/dist/events/middleware/logging.middleware.d.ts +0 -7
- package/dist/events/middleware/logging.middleware.js +0 -44
- package/dist/events/middleware/logging.middleware.js.map +0 -1
- package/dist/events/middleware/metrics.middleware.d.ts +0 -11
- package/dist/events/middleware/metrics.middleware.js +0 -87
- package/dist/events/middleware/metrics.middleware.js.map +0 -1
- package/dist/events/middleware/validation.middleware.d.ts +0 -8
- package/dist/events/middleware/validation.middleware.js +0 -63
- package/dist/events/middleware/validation.middleware.js.map +0 -1
- package/dist/events/store/memory-event-store.d.ts +0 -21
- package/dist/events/store/memory-event-store.js +0 -81
- package/dist/events/store/memory-event-store.js.map +0 -1
- package/dist/events/types/event.types.d.ts +0 -57
- package/dist/events/types/event.types.js.map +0 -1
- package/dist/examples/basic-api.d.ts +0 -1
- package/dist/examples/basic-api.js +0 -120
- package/dist/examples/basic-api.js.map +0 -1
- package/dist/logging/core/log-context.service.d.ts +0 -11
- package/dist/logging/core/log-context.service.js +0 -40
- package/dist/logging/core/log-context.service.js.map +0 -1
- package/dist/logging/core/startup-logger.service.js.map +0 -1
- package/dist/logging/decorators/log.decorator.d.ts +0 -11
- package/dist/logging/decorators/log.decorator.js +0 -80
- package/dist/logging/decorators/log.decorator.js.map +0 -1
- package/dist/logging/middleware/context.middleware.d.ts +0 -2
- package/dist/logging/middleware/context.middleware.js +0 -29
- package/dist/logging/middleware/context.middleware.js.map +0 -1
- package/dist/logging/middleware/request-logging.middleware.d.ts +0 -3
- package/dist/logging/middleware/request-logging.middleware.js +0 -78
- package/dist/logging/middleware/request-logging.middleware.js.map +0 -1
- package/dist/logging/types/logging.types.d.ts +0 -79
- package/dist/logging/types/logging.types.js +0 -3
- package/dist/logging/types/logging.types.js.map +0 -1
- package/dist/middlewares/auth.middleware.d.ts +0 -2
- package/dist/middlewares/auth.middleware.js +0 -20
- package/dist/middlewares/auth.middleware.js.map +0 -1
- package/dist/middlewares/cors.middleware.d.ts +0 -2
- package/dist/middlewares/cors.middleware.js +0 -16
- package/dist/middlewares/cors.middleware.js.map +0 -1
- package/dist/middlewares/swagger.middleware.d.ts +0 -6
- package/dist/middlewares/swagger.middleware.js +0 -84
- package/dist/middlewares/swagger.middleware.js.map +0 -1
- package/dist/repositories/user.repository.d.ts +0 -16
- package/dist/repositories/user.repository.js +0 -110
- package/dist/repositories/user.repository.js.map +0 -1
- package/dist/schemas/user.schemas.d.ts +0 -214
- package/dist/schemas/user.schemas.js +0 -71
- package/dist/schemas/user.schemas.js.map +0 -1
- package/dist/services/config-demo.service.d.ts +0 -10
- package/dist/services/config-demo.service.js +0 -88
- package/dist/services/config-demo.service.js.map +0 -1
- package/dist/services/user.service.d.ts +0 -21
- package/dist/services/user.service.js +0 -201
- package/dist/services/user.service.js.map +0 -1
- /package/dist/events/{types/event.types.js → event.types.js} +0 -0
@@ -0,0 +1,68 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.loggerFactory = exports.LOGGER_TOKEN = void 0;
|
7
|
+
const pino_1 = __importDefault(require("pino"));
|
8
|
+
const logging_config_1 = require("../config/logging.config");
|
9
|
+
const core_1 = require("../../core");
|
10
|
+
// 1. Define a unique DI token for our logger instance
|
11
|
+
exports.LOGGER_TOKEN = Symbol.for('Logger');
|
12
|
+
// 2. The factory function
|
13
|
+
const loggerFactory = () => {
|
14
|
+
const configService = core_1.container.resolve(logging_config_1.LoggingConfigService);
|
15
|
+
const { config } = configService;
|
16
|
+
const pinoOptions = {
|
17
|
+
level: config.LOG_LEVEL,
|
18
|
+
messageKey: 'message',
|
19
|
+
base: {
|
20
|
+
service: config.SERVICE_NAME,
|
21
|
+
pid: process.pid,
|
22
|
+
},
|
23
|
+
mixin() {
|
24
|
+
const store = core_1.requestContextStore.getStore();
|
25
|
+
if (!store) {
|
26
|
+
return {};
|
27
|
+
}
|
28
|
+
return Object.fromEntries(store.entries());
|
29
|
+
},
|
30
|
+
timestamp: () => `,"timestamp":"${new Date().toISOString()}"`,
|
31
|
+
};
|
32
|
+
const transportTargets = [];
|
33
|
+
// Add console transport for development
|
34
|
+
if (config.LOG_LEVEL === 'debug' || config.LOG_LEVEL === 'trace') {
|
35
|
+
// transportTargets.push({
|
36
|
+
// target: 'pino-pretty',
|
37
|
+
// level: 'debug',
|
38
|
+
// options: { colorize: true, translateTime: 'SYS:standard', ignore: 'pid,hostname,service' },
|
39
|
+
// })
|
40
|
+
}
|
41
|
+
else {
|
42
|
+
// Structured JSON logs for production
|
43
|
+
transportTargets.push({
|
44
|
+
target: 'pino/file', // pino/file writes to stdout by default
|
45
|
+
level: 'info',
|
46
|
+
options: {},
|
47
|
+
});
|
48
|
+
}
|
49
|
+
// Add ClickHouse transport if enabled
|
50
|
+
if (config.CLICKHOUSE_ENABLED) {
|
51
|
+
transportTargets.push({
|
52
|
+
target: './clickhouse.transport.js', // Path relative to the running script
|
53
|
+
level: 'info',
|
54
|
+
options: {
|
55
|
+
url: config.CLICKHOUSE_URL,
|
56
|
+
username: config.CLICKHOUSE_USER,
|
57
|
+
password: config.CLICKHOUSE_PASSWORD,
|
58
|
+
database: config.CLICKHOUSE_DB,
|
59
|
+
application: config.SERVICE_NAME,
|
60
|
+
},
|
61
|
+
});
|
62
|
+
}
|
63
|
+
return (0, pino_1.default)({ ...pinoOptions, transport: { targets: transportTargets } });
|
64
|
+
};
|
65
|
+
exports.loggerFactory = loggerFactory;
|
66
|
+
// 3. Register the factory with the DI container
|
67
|
+
core_1.container.register(exports.LOGGER_TOKEN, { useFactory: exports.loggerFactory });
|
68
|
+
//# sourceMappingURL=logger.provider.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"logger.provider.js","sourceRoot":"","sources":["../../../src/logging/core/logger.provider.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,6DAA+D;AAC/D,qCAA2D;AAE3D,sDAAsD;AACzC,QAAA,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAEhD,0BAA0B;AAEnB,MAAM,aAAa,GAAG,GAAgB,EAAE;IAC7C,MAAM,aAAa,GAAG,gBAAS,CAAC,OAAO,CAAuB,qCAAoB,CAAC,CAAA;IACnF,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAA;IAEhC,MAAM,WAAW,GAAuB;QACtC,KAAK,EAAE,MAAM,CAAC,SAAS;QACvB,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM,CAAC,YAAY;YAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB;QACD,KAAK;YACH,MAAM,KAAK,GAAG,0BAAmB,CAAC,QAAQ,EAAE,CAAA;YAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,CAAA;YACX,CAAC;YACD,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAC5C,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG;KAC9D,CAAA;IAED,MAAM,gBAAgB,GAAkC,EAAE,CAAA;IAE1D,wCAAwC;IACxC,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACjE,0BAA0B;QAC1B,2BAA2B;QAC3B,oBAAoB;QACpB,gGAAgG;QAChG,KAAK;IACP,CAAC;SAAM,CAAC;QACN,sCAAsC;QACtC,gBAAgB,CAAC,IAAI,CAAC;YACpB,MAAM,EAAE,WAAW,EAAE,wCAAwC;YAC7D,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,EAAE;SACZ,CAAC,CAAA;IACJ,CAAC;IAED,sCAAsC;IACtC,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9B,gBAAgB,CAAC,IAAI,CAAC;YACpB,MAAM,EAAE,2BAA2B,EAAE,sCAAsC;YAC3E,KAAK,EAAE,MAAM;YACb,OAAO,EAAE;gBACP,GAAG,EAAE,MAAM,CAAC,cAAc;gBAC1B,QAAQ,EAAE,MAAM,CAAC,eAAe;gBAChC,QAAQ,EAAE,MAAM,CAAC,mBAAmB;gBACpC,QAAQ,EAAE,MAAM,CAAC,aAAa;gBAC9B,WAAW,EAAE,MAAM,CAAC,YAAY;aACjC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAAA,cAAI,EAAC,EAAE,GAAG,WAAW,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAA;AAC3E,CAAC,CAAA;AAvDY,QAAA,aAAa,iBAuDzB;AAED,gDAAgD;AAChD,gBAAS,CAAC,QAAQ,CAAC,oBAAY,EAAE,EAAE,UAAU,EAAE,qBAAa,EAAE,CAAC,CAAA"}
|
@@ -1,29 +1,11 @@
|
|
1
1
|
import pino from 'pino';
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
private requestSerializer;
|
11
|
-
private responseSerializer;
|
12
|
-
private errorSerializer;
|
13
|
-
trace(message: string, data?: Record<string, any>): void;
|
14
|
-
debug(message: string, data?: Record<string, any>): void;
|
15
|
-
info(message: string, data?: Record<string, any>): void;
|
16
|
-
warn(message: string, data?: Record<string, any>): void;
|
17
|
-
error(message: string, error?: Error, data?: Record<string, any>): void;
|
18
|
-
fatal(message: string, error?: Error, data?: Record<string, any>): void;
|
19
|
-
audit(payload: AuditLogPayload): void;
|
20
|
-
event(payload: EventLogPayload): void;
|
21
|
-
performance(payload: PerformanceLogPayload): void;
|
22
|
-
security(message: string, data?: Record<string, any>): void;
|
23
|
-
startup(message: string, data?: Record<string, any>): void;
|
24
|
-
component(message: string, data?: Record<string, any>): void;
|
25
|
-
private log;
|
26
|
-
child(bindings?: Record<string, any>): LoggerService;
|
27
|
-
getPinoInstance(): pino.Logger;
|
28
|
-
getConfig(): LoggingConfig;
|
2
|
+
export declare class Logger {
|
3
|
+
private readonly logger;
|
4
|
+
info(message: string, context?: object): void;
|
5
|
+
error(message: string, error?: Error, context?: object): void;
|
6
|
+
warn(message: string, context?: object): void;
|
7
|
+
debug(message: string, context?: object): void;
|
8
|
+
audit(payload: object): void;
|
9
|
+
child(bindings: object): pino.Logger;
|
29
10
|
}
|
11
|
+
//# sourceMappingURL=logger.service.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../../src/logging/core/logger.service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAIvB,qBACa,MAAM;IAEjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAE9B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAItC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM;IAItD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAItC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAKvC,KAAK,CAAC,OAAO,EAAE,MAAM;IAIrB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;CAG5C"}
|
@@ -1,178 +1,48 @@
|
|
1
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
|
+
};
|
2
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
13
|
};
|
5
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.
|
15
|
+
exports.Logger = void 0;
|
7
16
|
const pino_1 = __importDefault(require("pino"));
|
8
|
-
const
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
this.
|
13
|
-
method: req.method,
|
14
|
-
url: req.url,
|
15
|
-
headers: this.config.logHeaders ? req.headers : undefined,
|
16
|
-
remoteAddress: req.remoteAddress,
|
17
|
-
remotePort: req.remotePort
|
18
|
-
});
|
19
|
-
this.responseSerializer = (res) => ({
|
20
|
-
statusCode: res.statusCode,
|
21
|
-
headers: this.config.logHeaders ? res.getHeaders() : undefined
|
22
|
-
});
|
23
|
-
this.errorSerializer = (err) => ({
|
24
|
-
type: err.constructor.name,
|
25
|
-
stack: this.config.logStackTrace ? err.stack : undefined,
|
26
|
-
...err
|
27
|
-
});
|
28
|
-
this.config = config;
|
29
|
-
this.pinoInstance = this.createPinoInstance();
|
30
|
-
}
|
31
|
-
static getInstance(config) {
|
32
|
-
if (!LoggerService.instance) {
|
33
|
-
if (!config) {
|
34
|
-
throw new Error('LoggerService must be initialized with config');
|
35
|
-
}
|
36
|
-
LoggerService.instance = new LoggerService(config);
|
37
|
-
}
|
38
|
-
return LoggerService.instance;
|
39
|
-
}
|
40
|
-
createPinoInstance() {
|
41
|
-
const pinoOptions = {
|
42
|
-
level: this.config.level,
|
43
|
-
timestamp: () => `,"timestamp":"${new Date().toISOString()}"`,
|
44
|
-
messageKey: 'message',
|
45
|
-
base: {
|
46
|
-
pid: process.pid,
|
47
|
-
hostname: require('os').hostname(),
|
48
|
-
service: this.config.serviceName,
|
49
|
-
version: this.config.serviceVersion,
|
50
|
-
environment: this.config.environment
|
51
|
-
},
|
52
|
-
formatters: {
|
53
|
-
bindings: (bindings) => ({
|
54
|
-
...bindings,
|
55
|
-
service: this.config.serviceName
|
56
|
-
})
|
57
|
-
},
|
58
|
-
serializers: {
|
59
|
-
...pino_1.default.stdSerializers,
|
60
|
-
req: this.requestSerializer,
|
61
|
-
res: this.responseSerializer,
|
62
|
-
err: this.errorSerializer
|
63
|
-
},
|
64
|
-
mixin: () => {
|
65
|
-
const context = log_context_service_1.LogContextService.getContext();
|
66
|
-
return {
|
67
|
-
requestId: context?.requestId,
|
68
|
-
traceId: context?.traceId,
|
69
|
-
spanId: context?.spanId,
|
70
|
-
userId: context?.userId,
|
71
|
-
username: context?.username,
|
72
|
-
correlationId: context?.correlationId,
|
73
|
-
sessionId: context?.sessionId,
|
74
|
-
...context?.additionalContext
|
75
|
-
};
|
76
|
-
}
|
77
|
-
};
|
78
|
-
if (this.config.transports && this.config.transports.length > 0) {
|
79
|
-
return (0, pino_1.default)({
|
80
|
-
...pinoOptions,
|
81
|
-
transport: {
|
82
|
-
targets: this.config.transports
|
83
|
-
}
|
84
|
-
});
|
85
|
-
}
|
86
|
-
return (0, pino_1.default)(pinoOptions);
|
17
|
+
const logger_provider_1 = require("./logger.provider");
|
18
|
+
const core_1 = require("../../core");
|
19
|
+
let Logger = class Logger {
|
20
|
+
info(message, context) {
|
21
|
+
this.logger.info(context || {}, message);
|
87
22
|
}
|
88
|
-
|
89
|
-
|
90
|
-
if (this.config.enableComponentLogs) {
|
91
|
-
this.log('trace', 'application', { message, ...data });
|
92
|
-
}
|
23
|
+
error(message, error, context) {
|
24
|
+
this.logger.error({ ...context, err: error }, message);
|
93
25
|
}
|
94
|
-
|
95
|
-
|
96
|
-
this.log('debug', 'application', { message, ...data });
|
97
|
-
}
|
26
|
+
warn(message, context) {
|
27
|
+
this.logger.warn(context || {}, message);
|
98
28
|
}
|
99
|
-
|
100
|
-
this.
|
29
|
+
debug(message, context) {
|
30
|
+
this.logger.debug(context || {}, message);
|
101
31
|
}
|
102
|
-
|
103
|
-
this.log('warn', 'application', { message, ...data });
|
104
|
-
}
|
105
|
-
error(message, error, data) {
|
106
|
-
const payload = { message, ...data };
|
107
|
-
if (error)
|
108
|
-
payload.err = error;
|
109
|
-
this.log('error', 'application', payload);
|
110
|
-
}
|
111
|
-
fatal(message, error, data) {
|
112
|
-
const payload = { message, ...data };
|
113
|
-
if (error)
|
114
|
-
payload.err = error;
|
115
|
-
this.log('fatal', 'application', payload);
|
116
|
-
}
|
117
|
-
// Specialized logging methods
|
32
|
+
// You can add your specialized methods like audit(), performance(), etc. here
|
118
33
|
audit(payload) {
|
119
|
-
this.
|
120
|
-
...payload,
|
121
|
-
timestamp: new Date().toISOString()
|
122
|
-
});
|
123
|
-
}
|
124
|
-
event(payload) {
|
125
|
-
this.log('info', 'event', {
|
126
|
-
...payload,
|
127
|
-
timestamp: new Date().toISOString()
|
128
|
-
});
|
34
|
+
this.logger.info({ ...payload, logType: 'audit' }, 'Audit Log');
|
129
35
|
}
|
130
|
-
|
131
|
-
|
132
|
-
this.log('info', 'performance', {
|
133
|
-
...payload,
|
134
|
-
timestamp: new Date().toISOString()
|
135
|
-
});
|
136
|
-
}
|
36
|
+
child(bindings) {
|
37
|
+
return this.logger.child(bindings);
|
137
38
|
}
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
component(message, data) {
|
148
|
-
if (this.config.enableComponentLogs) {
|
149
|
-
this.log('debug', 'component', { message, ...data });
|
150
|
-
}
|
151
|
-
}
|
152
|
-
log(level, logType, payload) {
|
153
|
-
this.pinoInstance[level]({
|
154
|
-
...payload,
|
155
|
-
logType,
|
156
|
-
component: payload.component || logType,
|
157
|
-
timestamp: new Date().toISOString()
|
158
|
-
});
|
159
|
-
}
|
160
|
-
// Child logger creation
|
161
|
-
child(bindings = {}) {
|
162
|
-
const childPino = this.pinoInstance.child(bindings);
|
163
|
-
const childLogger = Object.create(LoggerService.prototype);
|
164
|
-
childLogger.pinoInstance = childPino;
|
165
|
-
childLogger.config = this.config;
|
166
|
-
return childLogger;
|
167
|
-
}
|
168
|
-
// Get raw pino instance for middleware integration
|
169
|
-
getPinoInstance() {
|
170
|
-
return this.pinoInstance;
|
171
|
-
}
|
172
|
-
// Get configuration
|
173
|
-
getConfig() {
|
174
|
-
return this.config;
|
175
|
-
}
|
176
|
-
}
|
177
|
-
exports.LoggerService = LoggerService;
|
39
|
+
};
|
40
|
+
exports.Logger = Logger;
|
41
|
+
__decorate([
|
42
|
+
(0, core_1.Autowired)(logger_provider_1.LOGGER_TOKEN),
|
43
|
+
__metadata("design:type", Object)
|
44
|
+
], Logger.prototype, "logger", void 0);
|
45
|
+
exports.Logger = Logger = __decorate([
|
46
|
+
(0, core_1.Service)()
|
47
|
+
], Logger);
|
178
48
|
//# sourceMappingURL=logger.service.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../src/logging/core/logger.service.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../src/logging/core/logger.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,uDAAgD;AAChD,qCAA+C;AAGxC,IAAM,MAAM,GAAZ,MAAM,MAAM;IAIV,IAAI,CAAC,OAAe,EAAE,OAAgB;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,OAAgB;QAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,OAAgB;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,OAAgB;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED,8EAA8E;IACvE,KAAK,CAAC,OAAe;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,CAAA;IACjE,CAAC;IAEM,KAAK,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;CACF,CAAA;AA5BY,wBAAM;AAEA;IADhB,IAAA,gBAAS,EAAC,8BAAY,CAAC;;sCACa;iBAF1B,MAAM;IADlB,IAAA,cAAO,GAAE;GACG,MAAM,CA4BlB"}
|
@@ -1,17 +1,15 @@
|
|
1
|
-
import { LoggerService } from './logger.service';
|
2
1
|
export declare class StartupLoggerService {
|
3
|
-
private static instance;
|
4
|
-
private logger;
|
5
2
|
private startupStartTime;
|
6
3
|
private componentTimings;
|
7
|
-
private
|
8
|
-
|
4
|
+
private readonly logger;
|
5
|
+
constructor();
|
9
6
|
logStartupBanner(): void;
|
10
7
|
logComponentStart(component: string, details?: Record<string, any>): void;
|
11
8
|
logComponentComplete(component: string, details?: Record<string, any>): void;
|
12
9
|
logComponentFailed(component: string, error: Error, details?: Record<string, any>): void;
|
13
10
|
logStartupComplete(): void;
|
14
|
-
|
11
|
+
logStartupSummary(): void;
|
15
12
|
private createStartupBanner;
|
16
13
|
private formatMemory;
|
17
14
|
}
|
15
|
+
//# sourceMappingURL=startup.logger.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"startup.logger.d.ts","sourceRoot":"","sources":["../../../src/logging/core/startup.logger.ts"],"names":[],"mappings":"AAWA,qBACa,oBAAoB;IAC/B,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,gBAAgB,CAAiC;IAEzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;;IAKzB,gBAAgB,IAAI,IAAI;IAgBxB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAOzE,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAY5E,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAYxF,kBAAkB,IAAI,IAAI;IAejC,iBAAiB,IAAI,IAAI;IAmBzB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,YAAY;CAIrB"}
|
@@ -15,6 +15,12 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
15
15
|
}) : function(o, v) {
|
16
16
|
o["default"] = v;
|
17
17
|
});
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
21
|
+
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;
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
23
|
+
};
|
18
24
|
var __importStar = (this && this.__importStar) || (function () {
|
19
25
|
var ownKeys = function(o) {
|
20
26
|
ownKeys = Object.getOwnPropertyNames || function (o) {
|
@@ -32,24 +38,22 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
32
38
|
return result;
|
33
39
|
};
|
34
40
|
})();
|
41
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
42
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
43
|
+
};
|
35
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
36
45
|
exports.StartupLoggerService = void 0;
|
46
|
+
const core_1 = require("../../core");
|
47
|
+
const logger_service_1 = require("./logger.service");
|
37
48
|
const os = __importStar(require("os"));
|
38
|
-
class StartupLoggerService {
|
39
|
-
constructor(
|
49
|
+
let StartupLoggerService = class StartupLoggerService {
|
50
|
+
constructor() {
|
40
51
|
this.componentTimings = new Map();
|
41
|
-
this.logger = logger;
|
42
52
|
this.startupStartTime = Date.now();
|
43
53
|
}
|
44
|
-
static getInstance(logger) {
|
45
|
-
if (!StartupLoggerService.instance) {
|
46
|
-
StartupLoggerService.instance = new StartupLoggerService(logger);
|
47
|
-
}
|
48
|
-
return StartupLoggerService.instance;
|
49
|
-
}
|
50
54
|
logStartupBanner() {
|
51
55
|
const banner = this.createStartupBanner();
|
52
|
-
console.log(banner); // Always log banner to console
|
56
|
+
console.log(banner); // Always log banner to console for visibility
|
53
57
|
this.logger.info('Application startup initiated', {
|
54
58
|
component: 'Application',
|
55
59
|
phase: 'starting',
|
@@ -58,27 +62,18 @@ class StartupLoggerService {
|
|
58
62
|
platform: os.platform(),
|
59
63
|
arch: os.arch(),
|
60
64
|
memory: this.formatMemory(os.totalmem()),
|
61
|
-
cpus: os.cpus().length
|
65
|
+
cpus: os.cpus().length,
|
62
66
|
});
|
63
67
|
}
|
64
68
|
logComponentStart(component, details) {
|
65
69
|
this.componentTimings.set(component, Date.now());
|
66
|
-
const payload = {
|
67
|
-
component,
|
68
|
-
phase: 'starting',
|
69
|
-
details
|
70
|
-
};
|
70
|
+
const payload = { component, phase: 'starting', details };
|
71
71
|
this.logger.debug(`Starting ${component}`, payload);
|
72
72
|
}
|
73
73
|
logComponentComplete(component, details) {
|
74
74
|
const startTime = this.componentTimings.get(component);
|
75
75
|
const duration = startTime ? Date.now() - startTime : undefined;
|
76
|
-
const payload = {
|
77
|
-
component,
|
78
|
-
phase: 'completed',
|
79
|
-
duration,
|
80
|
-
details
|
81
|
-
};
|
76
|
+
const payload = { component, phase: 'completed', duration, details };
|
82
77
|
this.logger.info(`${component} initialized successfully`, payload);
|
83
78
|
if (startTime) {
|
84
79
|
this.componentTimings.delete(component);
|
@@ -87,12 +82,7 @@ class StartupLoggerService {
|
|
87
82
|
logComponentFailed(component, error, details) {
|
88
83
|
const startTime = this.componentTimings.get(component);
|
89
84
|
const duration = startTime ? Date.now() - startTime : undefined;
|
90
|
-
const payload = {
|
91
|
-
component,
|
92
|
-
phase: 'failed',
|
93
|
-
duration,
|
94
|
-
details
|
95
|
-
};
|
85
|
+
const payload = { component, phase: 'failed', duration, details };
|
96
86
|
this.logger.error(`${component} initialization failed`, error, payload);
|
97
87
|
if (startTime) {
|
98
88
|
this.componentTimings.delete(component);
|
@@ -105,14 +95,13 @@ class StartupLoggerService {
|
|
105
95
|
phase: 'completed',
|
106
96
|
duration: totalDuration,
|
107
97
|
memoryUsage: process.memoryUsage(),
|
108
|
-
uptime: process.uptime()
|
109
98
|
});
|
110
|
-
//
|
111
|
-
|
112
|
-
|
113
|
-
}
|
99
|
+
// if (process.env.NODE_ENV === 'development') {
|
100
|
+
// this.logStartupSummary()
|
101
|
+
// }
|
114
102
|
}
|
115
|
-
logStartupSummary(
|
103
|
+
logStartupSummary() {
|
104
|
+
const totalDuration = Date.now() - this.startupStartTime;
|
116
105
|
const summary = [
|
117
106
|
'',
|
118
107
|
'🚀 BootifyJS Application Started Successfully',
|
@@ -120,17 +109,16 @@ class StartupLoggerService {
|
|
120
109
|
`⏱️ Total startup time: ${totalDuration}ms`,
|
121
110
|
`🔧 Environment: ${process.env.NODE_ENV || 'development'}`,
|
122
111
|
`📦 Node.js: ${process.version}`,
|
123
|
-
`💾 Memory usage: ${this.formatMemory(process.memoryUsage().heapUsed)}
|
112
|
+
`💾 Memory usage: ${this.formatMemory(process.memoryUsage().heapUsed)}`,
|
124
113
|
`🌐 Server: http://localhost:${process.env.PORT || 3000}`,
|
125
114
|
`📚 API Docs: http://localhost:${process.env.PORT || 3000}/api-docs`,
|
126
115
|
'─'.repeat(50),
|
127
|
-
''
|
116
|
+
'',
|
128
117
|
].join('\n');
|
129
118
|
console.log(summary);
|
130
119
|
}
|
131
120
|
createStartupBanner() {
|
132
121
|
const version = process.env.SERVICE_VERSION || '1.0.0';
|
133
|
-
const environment = process.env.NODE_ENV || 'development';
|
134
122
|
return `
|
135
123
|
____ _ _ __ _ ____
|
136
124
|
| _ \\ | | (_)/ _| | / ___|
|
@@ -142,15 +130,21 @@ class StartupLoggerService {
|
|
142
130
|
|___/
|
143
131
|
|
144
132
|
:: BootifyJS Framework :: (v${version})
|
145
|
-
:: Environment :: (${environment})
|
146
|
-
:: Node.js :: (${process.version})
|
147
|
-
:: Platform :: (${os.platform()}-${os.arch()})
|
148
133
|
`;
|
149
134
|
}
|
150
135
|
formatMemory(bytes) {
|
151
136
|
const mb = bytes / 1024 / 1024;
|
152
137
|
return `${mb.toFixed(2)} MB`;
|
153
138
|
}
|
154
|
-
}
|
139
|
+
};
|
155
140
|
exports.StartupLoggerService = StartupLoggerService;
|
156
|
-
|
141
|
+
__decorate([
|
142
|
+
(0, core_1.Autowired)(logger_service_1.Logger),
|
143
|
+
__metadata("design:type", logger_service_1.Logger)
|
144
|
+
], StartupLoggerService.prototype, "logger", void 0);
|
145
|
+
exports.StartupLoggerService = StartupLoggerService = __decorate([
|
146
|
+
(0, core_1.Service)({ eager: true }) // Eagerly load to ensure it's available at startup
|
147
|
+
,
|
148
|
+
__metadata("design:paramtypes", [])
|
149
|
+
], StartupLoggerService);
|
150
|
+
//# sourceMappingURL=startup.logger.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"startup.logger.js","sourceRoot":"","sources":["../../../src/logging/core/startup.logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAA+C;AAC/C,qDAAyC;AACzC,uCAAwB;AAUjB,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAK/B;QAHQ,qBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAA;QAIvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACpC,CAAC;IAEM,gBAAgB;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACzC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA,CAAC,8CAA8C;QAElE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;YAChD,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;YAClD,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;YACvB,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;YACf,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM;SACvB,CAAC,CAAA;IACJ,CAAC;IAEM,iBAAiB,CAAC,SAAiB,EAAE,OAA6B;QACvE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAEhD,MAAM,OAAO,GAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAA;QAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,SAAS,EAAE,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;IAEM,oBAAoB,CAAC,SAAiB,EAAE,OAA6B;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;QAE/D,MAAM,OAAO,GAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;QACvF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,2BAA2B,EAAE,OAAO,CAAC,CAAA;QAElE,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAEM,kBAAkB,CAAC,SAAiB,EAAE,KAAY,EAAE,OAA6B;QACtF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;QAE/D,MAAM,OAAO,GAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;QACpF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,wBAAwB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QAEvE,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAEM,kBAAkB;QACvB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAExD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;YAChD,SAAS,EAAE,aAAa;YACxB,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,aAAa;YACvB,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE;SACnC,CAAC,CAAA;QAEF,gDAAgD;QAChD,2BAA2B;QAC3B,IAAI;IACN,CAAC;IAED,iBAAiB;QACf,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAA;QACxD,MAAM,OAAO,GAAG;YACd,EAAE;YACF,+CAA+C;YAC/C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACd,2BAA2B,aAAa,IAAI;YAC5C,mBAAmB,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,EAAE;YAC1D,eAAe,OAAO,CAAC,OAAO,EAAE;YAChC,oBAAoB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE;YACvE,+BAA+B,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE;YACzD,iCAAiC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,WAAW;YACpE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACd,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACtB,CAAC;IAEO,mBAAmB;QACzB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAA;QACtD,OAAO;;;;;;;;;;sCAU2B,OAAO;CAC5C,CAAA;IACC,CAAC;IAEO,YAAY,CAAC,KAAa;QAChC,MAAM,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAA;QAC9B,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;IAC9B,CAAC;CACF,CAAA;AA9GY,oDAAoB;AAId;IADhB,IAAA,gBAAS,EAAC,uBAAM,CAAC;8BACQ,uBAAM;oDAAA;+BAJrB,oBAAoB;IADhC,IAAA,cAAO,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,mDAAmD;;;GAChE,oBAAoB,CA8GhC"}
|
package/dist/logging/index.d.ts
CHANGED
@@ -1,15 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
export
|
4
|
-
|
5
|
-
export { contextMiddleware } from './middleware/context.middleware';
|
6
|
-
export { createRequestLoggingMiddleware } from './middleware/request-logging.middleware';
|
7
|
-
export { Log, Logger } from './decorators/log.decorator';
|
8
|
-
export * from './types/logging.types';
|
9
|
-
import { LoggerService } from './core/logger.service';
|
10
|
-
import { StartupLoggerService } from './core/startup-logger.service';
|
11
|
-
export declare function configureLogging(): {
|
12
|
-
logger: LoggerService;
|
1
|
+
import { Logger } from './core/logger.service';
|
2
|
+
import { StartupLoggerService } from './core/startup.logger';
|
3
|
+
export declare function intitializeLogging(): Promise<{
|
4
|
+
logger: Logger;
|
13
5
|
startupLogger: StartupLoggerService;
|
14
|
-
|
15
|
-
|
6
|
+
}>;
|
7
|
+
export * from './core/decorators';
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5D,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAClD,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,oBAAoB,CAAA;CACpC,CAAC,CAcD;AAED,cAAc,mBAAmB,CAAA"}
|
package/dist/logging/index.js
CHANGED
@@ -14,33 +14,22 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
exports.
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return log_decorator_1.Logger; } });
|
34
|
-
__exportStar(require("./types/logging.types"), exports);
|
35
|
-
// Import the classes for use in configureLogging
|
36
|
-
const logging_config_2 = require("./config/logging.config");
|
37
|
-
const logger_service_2 = require("./core/logger.service");
|
38
|
-
const startup_logger_service_2 = require("./core/startup-logger.service");
|
39
|
-
// Auto-configure logging
|
40
|
-
function configureLogging() {
|
41
|
-
const config = logging_config_2.LoggingConfigService.createConfig();
|
42
|
-
const logger = logger_service_2.LoggerService.getInstance(config);
|
43
|
-
const startupLogger = startup_logger_service_2.StartupLoggerService.getInstance(logger);
|
44
|
-
return { logger, startupLogger, config };
|
17
|
+
exports.intitializeLogging = intitializeLogging;
|
18
|
+
const core_1 = require("../core");
|
19
|
+
const logger_provider_1 = require("./core/logger.provider");
|
20
|
+
const logger_service_1 = require("./core/logger.service");
|
21
|
+
const startup_logger_1 = require("./core/startup.logger");
|
22
|
+
async function intitializeLogging() {
|
23
|
+
console.log('🔄 Bootstrapping Logging System...');
|
24
|
+
// First, ensure the config service itself is registered as a component.
|
25
|
+
// Our @Service decorator already handles this.
|
26
|
+
// Now, register the factory that DEPENDS on the config service.
|
27
|
+
core_1.container.register(logger_provider_1.LOGGER_TOKEN, { useFactory: logger_provider_1.loggerFactory });
|
28
|
+
console.log('✅ Logging System bootstrapped successfully!\n');
|
29
|
+
return {
|
30
|
+
logger: core_1.container.resolve(logger_service_1.Logger),
|
31
|
+
startupLogger: core_1.container.resolve(startup_logger_1.StartupLoggerService),
|
32
|
+
};
|
45
33
|
}
|
34
|
+
__exportStar(require("./core/decorators"), exports);
|
46
35
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKA,gDAiBC;AAtBD,kCAAmC;AACnC,4DAAoE;AACpE,0DAA8C;AAC9C,0DAA4D;AAErD,KAAK,UAAU,kBAAkB;IAItC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;IAEjD,wEAAwE;IACxE,+CAA+C;IAE/C,gEAAgE;IAChE,gBAAS,CAAC,QAAQ,CAAC,8BAAY,EAAE,EAAE,UAAU,EAAE,+BAAa,EAAE,CAAC,CAAA;IAE/D,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAA;IAC5D,OAAO;QACL,MAAM,EAAE,gBAAS,CAAC,OAAO,CAAS,uBAAM,CAAC;QACzC,aAAa,EAAE,gBAAS,CAAC,OAAO,CAAuB,qCAAoB,CAAC;KAC7E,CAAA;AACH,CAAC;AAED,oDAAiC"}
|