@digital-alchemy/core 26.1.9 → 26.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +302 -0
- package/README.md +19 -3
- package/dist/helpers/async.d.mts +37 -0
- package/dist/helpers/async.mjs +50 -15
- package/dist/helpers/async.mjs.map +1 -1
- package/dist/helpers/config-environment-loader.d.mts +39 -0
- package/dist/helpers/config-environment-loader.mjs +51 -11
- package/dist/helpers/config-environment-loader.mjs.map +1 -1
- package/dist/helpers/config-file-loader.d.mts +66 -1
- package/dist/helpers/config-file-loader.mjs +82 -6
- package/dist/helpers/config-file-loader.mjs.map +1 -1
- package/dist/helpers/config.d.mts +202 -5
- package/dist/helpers/config.mjs +60 -0
- package/dist/helpers/config.mjs.map +1 -1
- package/dist/helpers/context.d.mts +12 -1
- package/dist/helpers/cron.d.mts +154 -7
- package/dist/helpers/cron.mjs +47 -4
- package/dist/helpers/cron.mjs.map +1 -1
- package/dist/helpers/errors.d.mts +45 -0
- package/dist/helpers/errors.mjs +45 -0
- package/dist/helpers/errors.mjs.map +1 -1
- package/dist/helpers/events.d.mts +23 -0
- package/dist/helpers/events.mjs +23 -0
- package/dist/helpers/events.mjs.map +1 -1
- package/dist/helpers/extend.d.mts +50 -0
- package/dist/helpers/extend.mjs +63 -0
- package/dist/helpers/extend.mjs.map +1 -1
- package/dist/helpers/index.d.mts +9 -0
- package/dist/helpers/index.mjs +9 -0
- package/dist/helpers/index.mjs.map +1 -1
- package/dist/helpers/lifecycle.d.mts +102 -16
- package/dist/helpers/lifecycle.mjs +19 -1
- package/dist/helpers/lifecycle.mjs.map +1 -1
- package/dist/helpers/logger.d.mts +178 -17
- package/dist/helpers/logger.mjs +41 -1
- package/dist/helpers/logger.mjs.map +1 -1
- package/dist/helpers/module.d.mts +110 -0
- package/dist/helpers/module.mjs +55 -6
- package/dist/helpers/module.mjs.map +1 -1
- package/dist/helpers/service-runner.d.mts +27 -1
- package/dist/helpers/service-runner.mjs +27 -1
- package/dist/helpers/service-runner.mjs.map +1 -1
- package/dist/helpers/utilities.d.mts +123 -3
- package/dist/helpers/utilities.mjs +110 -3
- package/dist/helpers/utilities.mjs.map +1 -1
- package/dist/helpers/wiring.d.mts +385 -0
- package/dist/helpers/wiring.mjs +120 -0
- package/dist/helpers/wiring.mjs.map +1 -1
- package/dist/services/als.service.d.mts +10 -0
- package/dist/services/als.service.mjs +49 -0
- package/dist/services/als.service.mjs.map +1 -1
- package/dist/services/configuration.service.d.mts +22 -0
- package/dist/services/configuration.service.mjs +140 -12
- package/dist/services/configuration.service.mjs.map +1 -1
- package/dist/services/index.d.mts +8 -0
- package/dist/services/index.mjs +8 -0
- package/dist/services/index.mjs.map +1 -1
- package/dist/services/internal.service.d.mts +98 -19
- package/dist/services/internal.service.mjs +91 -9
- package/dist/services/internal.service.mjs.map +1 -1
- package/dist/services/is.service.d.mts +64 -4
- package/dist/services/is.service.mjs +67 -4
- package/dist/services/is.service.mjs.map +1 -1
- package/dist/services/lifecycle.service.d.mts +26 -0
- package/dist/services/lifecycle.service.mjs +67 -9
- package/dist/services/lifecycle.service.mjs.map +1 -1
- package/dist/services/logger.service.d.mts +27 -0
- package/dist/services/logger.service.mjs +133 -9
- package/dist/services/logger.service.mjs.map +1 -1
- package/dist/services/scheduler.service.d.mts +19 -0
- package/dist/services/scheduler.service.mjs +87 -4
- package/dist/services/scheduler.service.mjs.map +1 -1
- package/dist/services/wiring.service.d.mts +29 -1
- package/dist/services/wiring.service.mjs +153 -20
- package/dist/services/wiring.service.mjs.map +1 -1
- package/dist/testing/index.d.mts +4 -0
- package/dist/testing/index.mjs +4 -0
- package/dist/testing/index.mjs.map +1 -1
- package/dist/testing/mock-logger.d.mts +8 -0
- package/dist/testing/mock-logger.mjs +9 -0
- package/dist/testing/mock-logger.mjs.map +1 -1
- package/dist/testing/test-module.d.mts +107 -27
- package/dist/testing/test-module.mjs +58 -1
- package/dist/testing/test-module.mjs.map +1 -1
- package/package.json +33 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is.service.mjs","sourceRoot":"","sources":["../../src/services/is.service.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAa3C
|
|
1
|
+
{"version":3,"file":"is.service.mjs","sourceRoot":"","sources":["../../src/services/is.service.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
import type { LifecycleStages, TLifecycleBase } from "../index.mts";
|
|
2
|
+
/**
|
|
3
|
+
* Lifecycle event registry for per-bootstrap stage callbacks.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Creates and owns a Map of lifecycle stage names to callback lists. Exposes
|
|
7
|
+
* seven hook attachment methods (`onPreInit`, `onPostConfig`, etc.) that queue
|
|
8
|
+
* callbacks for later execution. The returned `exec()` method is called by the
|
|
9
|
+
* wiring engine at each stage to fire callbacks in strict order: positive
|
|
10
|
+
* priorities (high to low), unprioritized (any order), negative priorities
|
|
11
|
+
* (high to low). Each stage is fired only once; subsequent attaches on a stage
|
|
12
|
+
* that has already executed fire the callback immediately.
|
|
13
|
+
*/
|
|
2
14
|
export declare function CreateLifecycle(): {
|
|
15
|
+
/**
|
|
16
|
+
* Event hook registry for all seven lifecycle stages.
|
|
17
|
+
*/
|
|
3
18
|
events: TLifecycleBase;
|
|
19
|
+
/**
|
|
20
|
+
* Execute all callbacks for a named lifecycle stage in strict order.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* Splits callbacks by priority: positive (high to low), unprioritized (any
|
|
24
|
+
* order), negative (high to low). Runs positive and negative series in order,
|
|
25
|
+
* unprioritized in parallel. Removes the stage from the map after execution
|
|
26
|
+
* so that late-attaching callbacks to an executed stage fire immediately.
|
|
27
|
+
*
|
|
28
|
+
* @returns Execution duration in milliseconds.
|
|
29
|
+
*/
|
|
4
30
|
exec(stage: LifecycleStages): Promise<string>;
|
|
5
31
|
};
|
|
@@ -2,28 +2,91 @@ import { DOWN, each, eachSeries, LIFECYCLE_STAGES, UP } from "../index.mjs";
|
|
|
2
2
|
import { is } from "./is.service.mjs";
|
|
3
3
|
const PRE_CALLBACKS_START = 0;
|
|
4
4
|
const DECIMALS = 2;
|
|
5
|
+
/**
|
|
6
|
+
* Lifecycle event registry for per-bootstrap stage callbacks.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* Creates and owns a Map of lifecycle stage names to callback lists. Exposes
|
|
10
|
+
* seven hook attachment methods (`onPreInit`, `onPostConfig`, etc.) that queue
|
|
11
|
+
* callbacks for later execution. The returned `exec()` method is called by the
|
|
12
|
+
* wiring engine at each stage to fire callbacks in strict order: positive
|
|
13
|
+
* priorities (high to low), unprioritized (any order), negative priorities
|
|
14
|
+
* (high to low). Each stage is fired only once; subsequent attaches on a stage
|
|
15
|
+
* that has already executed fire the callback immediately.
|
|
16
|
+
*/
|
|
5
17
|
export function CreateLifecycle() {
|
|
6
18
|
const events = new Map(LIFECYCLE_STAGES.map((event) => [event, []]));
|
|
19
|
+
/**
|
|
20
|
+
* Attach a callback to a named lifecycle stage with optional priority.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* If the stage has not yet been stored in the map (already executed), the
|
|
24
|
+
* callback fires immediately unless it is a Shutdown stage (which are never
|
|
25
|
+
* re-fired after they have been executed).
|
|
26
|
+
*/
|
|
7
27
|
function attachEvent(callback, name, priority) {
|
|
8
28
|
const stageList = events.get(name);
|
|
29
|
+
// stage already executed (not in the map) — fire immediately unless Shutdown
|
|
9
30
|
if (!is.array(stageList)) {
|
|
10
31
|
if (!name.includes("Shutdown")) {
|
|
11
32
|
callback();
|
|
12
33
|
}
|
|
13
34
|
return;
|
|
14
35
|
}
|
|
36
|
+
// stage is still pending; queue the callback with its priority
|
|
15
37
|
stageList.push({ callback, priority });
|
|
16
38
|
}
|
|
17
39
|
return {
|
|
40
|
+
/**
|
|
41
|
+
* Event hook registry for all seven lifecycle stages.
|
|
42
|
+
*/
|
|
18
43
|
events: {
|
|
44
|
+
/**
|
|
45
|
+
* Pre-initialization hook; safe for initial state setup.
|
|
46
|
+
*
|
|
47
|
+
* @remarks
|
|
48
|
+
* Config is not yet loaded; do not read `config.*` at this stage.
|
|
49
|
+
*/
|
|
19
50
|
onBootstrap: (callback, priority) => attachEvent(callback, "Bootstrap", priority),
|
|
51
|
+
/**
|
|
52
|
+
* Post-config hook; all configuration is now available.
|
|
53
|
+
*/
|
|
20
54
|
onPostConfig: (callback, priority) => attachEvent(callback, "PostConfig", priority),
|
|
55
|
+
/**
|
|
56
|
+
* Pre-initialization hook; config and modules are loaded.
|
|
57
|
+
*/
|
|
21
58
|
onPreInit: (callback, priority) => attachEvent(callback, "PreInit", priority),
|
|
59
|
+
/**
|
|
60
|
+
* Pre-shutdown hook; graceful shutdown is beginning.
|
|
61
|
+
*/
|
|
22
62
|
onPreShutdown: (callback, priority) => attachEvent(callback, "PreShutdown", priority),
|
|
63
|
+
/**
|
|
64
|
+
* Ready hook; all services are wired and the app is fully running.
|
|
65
|
+
*
|
|
66
|
+
* @remarks
|
|
67
|
+
* This is the stage where schedulers, servers, and long-running tasks begin.
|
|
68
|
+
*/
|
|
23
69
|
onReady: (callback, priority) => attachEvent(callback, "Ready", priority),
|
|
70
|
+
/**
|
|
71
|
+
* Shutdown-complete hook; cleanup is done.
|
|
72
|
+
*/
|
|
24
73
|
onShutdownComplete: (callback, priority) => attachEvent(callback, "ShutdownComplete", priority),
|
|
74
|
+
/**
|
|
75
|
+
* Shutdown-start hook; active connections are closing.
|
|
76
|
+
*/
|
|
25
77
|
onShutdownStart: (callback, priority) => attachEvent(callback, "ShutdownStart", priority),
|
|
26
78
|
},
|
|
79
|
+
/**
|
|
80
|
+
* Execute all callbacks for a named lifecycle stage in strict order.
|
|
81
|
+
*
|
|
82
|
+
* @remarks
|
|
83
|
+
* Splits callbacks by priority: positive (high to low), unprioritized (any
|
|
84
|
+
* order), negative (high to low). Runs positive and negative series in order,
|
|
85
|
+
* unprioritized in parallel. Removes the stage from the map after execution
|
|
86
|
+
* so that late-attaching callbacks to an executed stage fire immediately.
|
|
87
|
+
*
|
|
88
|
+
* @returns Execution duration in milliseconds.
|
|
89
|
+
*/
|
|
27
90
|
async exec(stage) {
|
|
28
91
|
const start = performance.now();
|
|
29
92
|
const list = events.get(stage);
|
|
@@ -33,7 +96,7 @@ export function CreateLifecycle() {
|
|
|
33
96
|
const quick = list.filter(({ priority }) => priority === undefined);
|
|
34
97
|
const positive = [];
|
|
35
98
|
const negative = [];
|
|
36
|
-
//
|
|
99
|
+
// segregate sorted callbacks into positive and negative priority buckets
|
|
37
100
|
sorted.forEach(i => {
|
|
38
101
|
if (i.priority >= PRE_CALLBACKS_START) {
|
|
39
102
|
positive.push(i);
|
|
@@ -41,16 +104,11 @@ export function CreateLifecycle() {
|
|
|
41
104
|
}
|
|
42
105
|
negative.push(i);
|
|
43
106
|
});
|
|
44
|
-
//
|
|
45
|
-
// high to low (1000 => 0)
|
|
107
|
+
// execute positive priorities in descending order (high to low)
|
|
46
108
|
await eachSeries(positive.toSorted((a, b) => (a.priority < b.priority ? UP : DOWN)), async ({ callback }) => await callback());
|
|
47
|
-
//
|
|
48
|
-
// * callbacks without a priority
|
|
49
|
-
// any order
|
|
109
|
+
// execute unprioritized callbacks in parallel
|
|
50
110
|
await each(quick, async ({ callback }) => await callback());
|
|
51
|
-
//
|
|
52
|
-
// * callbacks with a priority less than 0
|
|
53
|
-
// high to low (-1 => -1000)
|
|
111
|
+
// execute negative priorities in descending order (-1 to -1000)
|
|
54
112
|
await eachSeries(negative.toSorted((a, b) => (a.priority < b.priority ? UP : DOWN)), async ({ callback }) => await callback());
|
|
55
113
|
}
|
|
56
114
|
return `${(performance.now() - start).toFixed(DECIMALS)}ms`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.service.mjs","sourceRoot":"","sources":["../../src/services/lifecycle.service.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAMtC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC;AAEnB,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAuC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAClF,CAAC;IAEF,SAAS,WAAW,CAAC,QAA2B,EAAE,IAAqB,EAAE,QAAiB;QACxF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,QAAQ,EAAE,CAAC;YACb,CAAC;YACD,OAAO;QACT,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL,MAAM,EAAE;YACN,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;YACjF,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC;YACnF,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;YAC7E,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC;YACrF,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;YACzE,kBAAkB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CACzC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,CAAC;YACrD,eAAe,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,CAAC;SAC/C;QAC5C,KAAK,CAAC,IAAI,CAAC,KAAsB;YAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;gBACrE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;gBACpE,MAAM,QAAQ,GAAG,EAAsB,CAAC;gBACxC,MAAM,QAAQ,GAAG,EAAsB,CAAC;gBAExC,
|
|
1
|
+
{"version":3,"file":"lifecycle.service.mjs","sourceRoot":"","sources":["../../src/services/lifecycle.service.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,29 @@
|
|
|
1
1
|
import type { DigitalAlchemyLogger, TServiceParams } from "../index.mts";
|
|
2
|
+
/**
|
|
3
|
+
* Logger factory — chalk/stdout formatter, ALS integration, level filtering,
|
|
4
|
+
* multi-target fan-out, and the `context(ctx)` builder.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Owns the module-level `logger` record that maps each log level to a
|
|
8
|
+
* formatting+routing function. That record is replaced wholesale when a
|
|
9
|
+
* `customLogger` is provided via bootstrap options.
|
|
10
|
+
*
|
|
11
|
+
* The `context(ctx)` method returns a `GetLogger` scoped to a specific
|
|
12
|
+
* `TContext` string. Each scoped logger evaluates `shouldILog[level]` on every
|
|
13
|
+
* call so level changes propagated via `EVENT_UPDATE_LOG_LEVELS` take effect
|
|
14
|
+
* immediately without any per-call config lookup.
|
|
15
|
+
*
|
|
16
|
+
* **Pretty format** applies chalk colorization and bracket/brace highlighting
|
|
17
|
+
* to messages up to `MAX_CUTOFF` characters. Turn it off (e.g. for Docker
|
|
18
|
+
* log aggregators) via `loggerOptions.pretty = false` in bootstrap options.
|
|
19
|
+
*
|
|
20
|
+
* **ALS integration** (`loggerOptions.als = true`) merges per-request data
|
|
21
|
+
* stored in `AsyncLocalStorage` into every log payload, and can substitute a
|
|
22
|
+
* thread-local child logger for the default stdout writer.
|
|
23
|
+
*
|
|
24
|
+
* **Extra targets** (`addTarget`) accept either a `LogStreamTarget` function
|
|
25
|
+
* (raw msg + payload) or any object that conforms to `GetLogger` (same level
|
|
26
|
+
* methods as the default logger). All registered targets receive every log
|
|
27
|
+
* regardless of the `stdOut` setting.
|
|
28
|
+
*/
|
|
2
29
|
export declare function Logger({ lifecycle, config, event, internal, als, }: TServiceParams): Promise<DigitalAlchemyLogger>;
|
|
@@ -20,6 +20,33 @@ const frontDash = " - ";
|
|
|
20
20
|
const SYMBOL_START = 1;
|
|
21
21
|
const SYMBOL_END = -1;
|
|
22
22
|
const LEVEL_MAX = 7;
|
|
23
|
+
/**
|
|
24
|
+
* Logger factory — chalk/stdout formatter, ALS integration, level filtering,
|
|
25
|
+
* multi-target fan-out, and the `context(ctx)` builder.
|
|
26
|
+
*
|
|
27
|
+
* @remarks
|
|
28
|
+
* Owns the module-level `logger` record that maps each log level to a
|
|
29
|
+
* formatting+routing function. That record is replaced wholesale when a
|
|
30
|
+
* `customLogger` is provided via bootstrap options.
|
|
31
|
+
*
|
|
32
|
+
* The `context(ctx)` method returns a `GetLogger` scoped to a specific
|
|
33
|
+
* `TContext` string. Each scoped logger evaluates `shouldILog[level]` on every
|
|
34
|
+
* call so level changes propagated via `EVENT_UPDATE_LOG_LEVELS` take effect
|
|
35
|
+
* immediately without any per-call config lookup.
|
|
36
|
+
*
|
|
37
|
+
* **Pretty format** applies chalk colorization and bracket/brace highlighting
|
|
38
|
+
* to messages up to `MAX_CUTOFF` characters. Turn it off (e.g. for Docker
|
|
39
|
+
* log aggregators) via `loggerOptions.pretty = false` in bootstrap options.
|
|
40
|
+
*
|
|
41
|
+
* **ALS integration** (`loggerOptions.als = true`) merges per-request data
|
|
42
|
+
* stored in `AsyncLocalStorage` into every log payload, and can substitute a
|
|
43
|
+
* thread-local child logger for the default stdout writer.
|
|
44
|
+
*
|
|
45
|
+
* **Extra targets** (`addTarget`) accept either a `LogStreamTarget` function
|
|
46
|
+
* (raw msg + payload) or any object that conforms to `GetLogger` (same level
|
|
47
|
+
* methods as the default logger). All registered targets receive every log
|
|
48
|
+
* regardless of the `stdOut` setting.
|
|
49
|
+
*/
|
|
23
50
|
export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
24
51
|
const { is } = internal.utils;
|
|
25
52
|
let lastMessage = performance.now();
|
|
@@ -33,10 +60,18 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
33
60
|
const YELLOW_DASH = chalk.yellowBright(frontDash);
|
|
34
61
|
const BLUE_TICK = chalk.blue(`>`);
|
|
35
62
|
let prettyFormat = is.boolean(loggerOptions.pretty) ? loggerOptions.pretty : true;
|
|
36
|
-
//
|
|
37
|
-
//
|
|
63
|
+
// keep inspect colorization in sync with the pretty flag so object dumps
|
|
64
|
+
// look consistent whether output goes to a TTY or a log aggregator
|
|
38
65
|
inspect.defaultOptions.colors = prettyFormat;
|
|
39
66
|
// #MARK: mergeData
|
|
67
|
+
/**
|
|
68
|
+
* Augment a log data object with counter, ALS fields, and `mergeData` overrides.
|
|
69
|
+
*
|
|
70
|
+
* @remarks
|
|
71
|
+
* When `loggerOptions.als` is enabled, reads the current ALS store and merges
|
|
72
|
+
* it into the payload. Also pulls the optional thread-local child logger that
|
|
73
|
+
* ALS callers can inject to redirect a specific request's logs somewhere else.
|
|
74
|
+
*/
|
|
40
75
|
function mergeData(data) {
|
|
41
76
|
let out = { ...data, ...loggerOptions.mergeData };
|
|
42
77
|
if (loggerOptions.counter) {
|
|
@@ -56,10 +91,26 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
56
91
|
return [out, logger];
|
|
57
92
|
}
|
|
58
93
|
// #MARK: prettyFormatMessage
|
|
94
|
+
/**
|
|
95
|
+
* Apply chalk syntax highlighting to a log message string.
|
|
96
|
+
*
|
|
97
|
+
* @remarks
|
|
98
|
+
* Only runs when `prettyFormat` is true and the message is under
|
|
99
|
+
* `MAX_CUTOFF` characters — very long strings are passed through verbatim
|
|
100
|
+
* to avoid performance degradation from heavy regex over large payloads.
|
|
101
|
+
*
|
|
102
|
+
* Highlighting rules:
|
|
103
|
+
* - `word#word` → yellow (symbol-style identifiers)
|
|
104
|
+
* - `[A] > [B]` → blue `>` separators
|
|
105
|
+
* - `[Text]` → bold magenta, brackets stripped
|
|
106
|
+
* - `{Text}` → bold gray, braces stripped
|
|
107
|
+
* - Leading ` - ` dash prefix → yellow dash
|
|
108
|
+
*/
|
|
59
109
|
function prettyFormatMessage(message) {
|
|
60
110
|
if (!message) {
|
|
61
111
|
return ``;
|
|
62
112
|
}
|
|
113
|
+
// skip expensive regex on very long messages or when pretty is disabled
|
|
63
114
|
if (!prettyFormat || message.length > MAX_CUTOFF) {
|
|
64
115
|
return message;
|
|
65
116
|
}
|
|
@@ -79,13 +130,16 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
79
130
|
}
|
|
80
131
|
if (is.empty(internal.boot.options?.customLogger)) {
|
|
81
132
|
// #MARK: formatter
|
|
133
|
+
// build a per-level formatter function and store it in the module-level logger record;
|
|
134
|
+
// each function closes over the shared prettyFormat/extraTargets state so runtime
|
|
135
|
+
// changes (setPrettyFormat, addTarget) take effect on the next log call
|
|
82
136
|
[...METHOD_COLORS.keys()].forEach(key => {
|
|
83
137
|
logger[key] = (context, ...parameters) => {
|
|
84
138
|
const [data, child] = mergeData(is.object(parameters[FIRST])
|
|
85
139
|
? parameters.shift()
|
|
86
140
|
: {});
|
|
87
|
-
//
|
|
88
|
-
// extract
|
|
141
|
+
// functions are commonly passed as the `name` field to tag the call-site;
|
|
142
|
+
// extract the declared `.name` string and discard the function reference
|
|
89
143
|
data.name = is.object(data.name) || is.function(data.name) ? data.name.name : data.name;
|
|
90
144
|
// ? full data object representing this log
|
|
91
145
|
// used with cloud logging (graylog, datadog, etc)
|
|
@@ -115,7 +169,8 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
115
169
|
lastMessage = now;
|
|
116
170
|
rawData.ms = ms;
|
|
117
171
|
}
|
|
118
|
-
// emit logs to external targets
|
|
172
|
+
// emit logs to external targets before the stdOut guard so targets always
|
|
173
|
+
// receive every message regardless of whether stdout is suppressed
|
|
119
174
|
extraTargets.forEach(target => {
|
|
120
175
|
// stream targets, just take all messages and do the exact same thing with them
|
|
121
176
|
// ex: send to http endpoint
|
|
@@ -148,6 +203,7 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
148
203
|
name,
|
|
149
204
|
// eslint-disable-next-line sonarjs/no-unused-vars, @typescript-eslint/no-unused-vars
|
|
150
205
|
context: ctx, ...extra } = data;
|
|
206
|
+
// only inspect extra fields that aren't already rendered in the message line
|
|
151
207
|
if (!is.empty(extra)) {
|
|
152
208
|
message +=
|
|
153
209
|
"\n" +
|
|
@@ -162,11 +218,14 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
162
218
|
.join("\n");
|
|
163
219
|
}
|
|
164
220
|
}
|
|
221
|
+
// ALS child logger takes precedence so per-request log redirection works
|
|
165
222
|
if (child) {
|
|
166
223
|
child[key](message);
|
|
167
224
|
return;
|
|
168
225
|
}
|
|
169
226
|
// #MARK: globalThis.console
|
|
227
|
+
// route through the appropriate console method so browser devtools and
|
|
228
|
+
// Node's built-in log level filtering see the right severity
|
|
170
229
|
switch (key) {
|
|
171
230
|
case "warn": {
|
|
172
231
|
globalThis.console.warn(message);
|
|
@@ -192,15 +251,28 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
192
251
|
});
|
|
193
252
|
}
|
|
194
253
|
else {
|
|
254
|
+
// custom logger provided at bootstrap — use it verbatim instead of the built-in formatter
|
|
195
255
|
logger = internal.boot.options.customLogger;
|
|
196
256
|
}
|
|
197
|
-
// if bootstrap hard coded something specific, then start there
|
|
198
|
-
// otherwise
|
|
257
|
+
// if bootstrap hard coded something specific, then start there;
|
|
258
|
+
// otherwise be noisy until config loads a user preference
|
|
199
259
|
//
|
|
200
|
-
// stored as separate variable to
|
|
260
|
+
// stored as a separate variable to avoid per-call config proxy lookups
|
|
201
261
|
let CURRENT_LOG_LEVEL = internal.utils.object.get(internal, "boot.options.configuration.boilerplate.LOG_LEVEL") ||
|
|
202
262
|
"trace";
|
|
203
263
|
// #MARK: context
|
|
264
|
+
/**
|
|
265
|
+
* Create a `GetLogger` scoped to a specific `TContext` string.
|
|
266
|
+
*
|
|
267
|
+
* @remarks
|
|
268
|
+
* Each returned logger checks `shouldILog[level]` before forwarding the
|
|
269
|
+
* call, making the check a simple boolean property access on every log line.
|
|
270
|
+
* `shouldILog` is rebuilt whenever `EVENT_UPDATE_LOG_LEVELS` fires, so
|
|
271
|
+
* level overrides and global level changes propagate to all existing scoped
|
|
272
|
+
* loggers automatically.
|
|
273
|
+
*
|
|
274
|
+
* Level resolution order: per-service override → module-level override → global level.
|
|
275
|
+
*/
|
|
204
276
|
function context(context) {
|
|
205
277
|
const name = context;
|
|
206
278
|
const shouldILog = {};
|
|
@@ -209,7 +281,7 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
209
281
|
LOG_LEVELS.forEach((key) => {
|
|
210
282
|
// global level
|
|
211
283
|
let target = LOG_LEVEL_PRIORITY[CURRENT_LOG_LEVEL];
|
|
212
|
-
// override
|
|
284
|
+
// per-service override takes priority over module-level override
|
|
213
285
|
if (loggerOptions?.levelOverrides?.[name]) {
|
|
214
286
|
target = LOG_LEVEL_PRIORITY[loggerOptions?.levelOverrides?.[name]];
|
|
215
287
|
// module level override
|
|
@@ -232,6 +304,15 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
232
304
|
};
|
|
233
305
|
}
|
|
234
306
|
// #MARK updateShouldLog:
|
|
307
|
+
/**
|
|
308
|
+
* Sync `CURRENT_LOG_LEVEL` from config and broadcast a level-update event.
|
|
309
|
+
*
|
|
310
|
+
* @remarks
|
|
311
|
+
* Called after `onPostConfig` (when the user's `LOG_LEVEL` preference is
|
|
312
|
+
* available) and on every subsequent `boilerplate.LOG_LEVEL` config change.
|
|
313
|
+
* Emitting `EVENT_UPDATE_LOG_LEVELS` causes every scoped logger's `shouldILog`
|
|
314
|
+
* map to be rebuilt synchronously so level changes take effect immediately.
|
|
315
|
+
*/
|
|
235
316
|
function updateShouldLog() {
|
|
236
317
|
if (!is.empty(config.boilerplate.LOG_LEVEL)) {
|
|
237
318
|
CURRENT_LOG_LEVEL = config.boilerplate.LOG_LEVEL;
|
|
@@ -239,25 +320,68 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
239
320
|
event.emit(EVENT_UPDATE_LOG_LEVELS);
|
|
240
321
|
}
|
|
241
322
|
// #MARK: lifecycle
|
|
323
|
+
// only read config after PostConfig fires; value is undefined before that
|
|
242
324
|
lifecycle.onPostConfig(() => internal.boilerplate.logger.updateShouldLog());
|
|
325
|
+
// also update whenever LOG_LEVEL is changed at runtime (e.g. via setConfig)
|
|
243
326
|
internal.boilerplate.configuration.onUpdate(() => internal.boilerplate.logger.updateShouldLog(), "boilerplate", "LOG_LEVEL");
|
|
327
|
+
/**
|
|
328
|
+
* Register an additional log destination.
|
|
329
|
+
*
|
|
330
|
+
* @remarks
|
|
331
|
+
* Accepts either a `LogStreamTarget` function `(msg, rawData) => void`
|
|
332
|
+
* or any object that implements the `GetLogger` interface. All registered
|
|
333
|
+
* targets receive every log message before the `stdOut` guard, so targets
|
|
334
|
+
* see logs even when `stdOut` is disabled.
|
|
335
|
+
*/
|
|
244
336
|
function addTarget(target) {
|
|
245
337
|
extraTargets.add(target);
|
|
246
338
|
}
|
|
247
339
|
// #MARK: return object
|
|
248
340
|
return {
|
|
341
|
+
/**
|
|
342
|
+
* Register an additional log destination (function or `GetLogger` object).
|
|
343
|
+
*/
|
|
249
344
|
addTarget,
|
|
345
|
+
/**
|
|
346
|
+
* Create a `GetLogger` scoped to the given context string.
|
|
347
|
+
*/
|
|
250
348
|
context,
|
|
349
|
+
/**
|
|
350
|
+
* Access the raw per-level formatter record.
|
|
351
|
+
* @internal
|
|
352
|
+
*/
|
|
251
353
|
getBaseLogger: () => logger,
|
|
354
|
+
/**
|
|
355
|
+
* Return the current pretty-format flag.
|
|
356
|
+
*/
|
|
252
357
|
getPrettyFormat: () => prettyFormat,
|
|
358
|
+
/**
|
|
359
|
+
* Apply chalk syntax highlighting to a message string (respects `prettyFormat` flag).
|
|
360
|
+
*/
|
|
253
361
|
prettyFormatMessage,
|
|
362
|
+
/**
|
|
363
|
+
* Replace the underlying per-level formatter record.
|
|
364
|
+
* @internal
|
|
365
|
+
*/
|
|
254
366
|
setBaseLogger: base => (logger = base),
|
|
367
|
+
/**
|
|
368
|
+
* Toggle chalk colorization on stdout output.
|
|
369
|
+
*
|
|
370
|
+
* @remarks
|
|
371
|
+
* Also updates `inspect.defaultOptions.colors` so object dumps remain consistent.
|
|
372
|
+
*/
|
|
255
373
|
setPrettyFormat: state => {
|
|
256
374
|
prettyFormat = state;
|
|
257
375
|
inspect.defaultOptions.colors = prettyFormat;
|
|
258
376
|
return prettyFormat;
|
|
259
377
|
},
|
|
378
|
+
/**
|
|
379
|
+
* Pre-built scoped logger for the framework's own internal log lines.
|
|
380
|
+
*/
|
|
260
381
|
systemLogger: context("digital-alchemy:system-logger"),
|
|
382
|
+
/**
|
|
383
|
+
* Sync the active log level from config and notify all scoped loggers.
|
|
384
|
+
*/
|
|
261
385
|
updateShouldLog,
|
|
262
386
|
};
|
|
263
387
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.service.mjs","sourceRoot":"","sources":["../../src/services/logger.service.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logger.service.mjs","sourceRoot":"","sources":["../../src/services/logger.service.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,21 @@
|
|
|
1
1
|
import type { SchedulerBuilder, TServiceParams } from "../index.mts";
|
|
2
|
+
/**
|
|
3
|
+
* Builder-style scheduler factory injected into every service via `TServiceParams`.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Returns a function that accepts a `TContext` and produces the per-caller scheduler
|
|
7
|
+
* API (`cron`, `interval`, `sliding`, `setTimeout`, `setInterval`, `sleep`).
|
|
8
|
+
* This two-level shape is deliberate: the outer factory sets up lifecycle hooks
|
|
9
|
+
* shared across all callers; the inner function binds the per-caller context so
|
|
10
|
+
* every scheduled callback is associated with the service that created it.
|
|
11
|
+
*
|
|
12
|
+
* All schedules are registered against a shared `stop` set so a single
|
|
13
|
+
* `onPreShutdown` hook can cleanly cancel every outstanding timer in one pass.
|
|
14
|
+
* Schedules only start firing after the `onReady` lifecycle event; creating a
|
|
15
|
+
* scheduler before `onReady` is safe — the job is registered but does not run
|
|
16
|
+
* until the application is ready.
|
|
17
|
+
*
|
|
18
|
+
* Remove callbacks returned from each method are dual-arity:
|
|
19
|
+
* call them directly (`remove()`) or destructure `{ remove }` — both work.
|
|
20
|
+
*/
|
|
2
21
|
export declare function Scheduler({ logger, lifecycle, internal }: TServiceParams): SchedulerBuilder;
|