runspec-node 0.28.0 → 0.29.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/loader.js +8 -4
- package/dist/loader.js.map +1 -1
- package/dist/logging_setup.d.ts +4 -1
- package/dist/logging_setup.d.ts.map +1 -1
- package/dist/logging_setup.js +57 -33
- package/dist/logging_setup.js.map +1 -1
- package/dist/models.d.ts +6 -0
- package/dist/models.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/loader.ts +8 -4
- package/src/logging_setup.ts +61 -33
- package/src/models.ts +6 -0
- package/tests/test_loader.test.ts +2 -2
- package/tests/test_run_summary.test.ts +52 -12
package/dist/loader.js
CHANGED
|
@@ -65,10 +65,13 @@ function normaliseLogging(raw) {
|
|
|
65
65
|
// response body), and verbosity for debugging is handled by the `--debug`
|
|
66
66
|
// flag injected at parse time.
|
|
67
67
|
//
|
|
68
|
-
// `summary` (default true) writes one record per run to the audit
|
|
69
|
-
//
|
|
70
|
-
//
|
|
71
|
-
//
|
|
68
|
+
// `summary` (default true) writes one structured record per run to the audit
|
|
69
|
+
// log at process exit (duration, exit code, per-level event counts) — the data
|
|
70
|
+
// the console history/analytics tabs and `runspec logs` read. `summary_console`
|
|
71
|
+
// (default false) additionally echoes a one-line human-readable summary to the
|
|
72
|
+
// terminal (stderr); off by default so stdout stays clean for pipes and the
|
|
73
|
+
// line never lands on a stream that log processors (e.g. Rundeck) tag as ERROR.
|
|
74
|
+
// Suppress both per-invocation with `--no-summary` or `RUNSPEC_NO_SUMMARY=1`.
|
|
72
75
|
if (raw === undefined)
|
|
73
76
|
return undefined;
|
|
74
77
|
// `store` selects the file layout: 'single' = one rotating {runnable}.log;
|
|
@@ -79,6 +82,7 @@ function normaliseLogging(raw) {
|
|
|
79
82
|
rotate: String(raw['rotate'] ?? 'midnight'),
|
|
80
83
|
keep: Number(raw['keep'] ?? 7),
|
|
81
84
|
summary: raw['summary'] !== undefined ? Boolean(raw['summary']) : true,
|
|
85
|
+
summaryConsole: raw['summary_console'] !== undefined ? Boolean(raw['summary_console']) : false,
|
|
82
86
|
store: store === 'per-run' ? 'per-run' : 'single',
|
|
83
87
|
};
|
|
84
88
|
}
|
package/dist/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,0BAeC;AAnBD,uCAAyB;AACzB,yCAA+C;AAG/C,SAAgB,OAAO,CAAC,UAAkB;IACxC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,IAAA,iBAAS,EAAC,OAAO,CAA4B,CAAC;IAE1D,MAAM,YAAY,GAA4C,EAAE,CAAC;IACjE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,GAAG,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7F,YAAY,CAAC,GAAG,CAAC,GAAG,KAAgC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;QACzE,SAAS,EAAE,kBAAkB,CAAC,YAAY,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,GAA4B;IACnD,OAAO;QACL,eAAe,EAAG,GAAG,CAAC,kBAAkB,CAAwB,IAAI,SAAS;QAC7E,IAAI,EAAE,GAAG,CAAC,MAAM,CAAuB;QACvC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;QACtC,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAwC,CAAC;KACjF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAwC;IAChE,wEAAwE;IACxE,2EAA2E;IAC3E,qEAAqE;IACrE,0EAA0E;IAC1E,+BAA+B;IAC/B,EAAE;IACF,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
|
package/dist/logging_setup.d.ts
CHANGED
|
@@ -113,7 +113,10 @@ export interface ConfigureLoggingOptions {
|
|
|
113
113
|
*
|
|
114
114
|
* Run summary (when `logCfg.summary` is true and `noSummary` is false)
|
|
115
115
|
* counts log events by level and emits a single record at process exit
|
|
116
|
-
* with duration, exit code, exception class, and per-level counts
|
|
116
|
+
* with duration, exit code, exception class, and per-level counts to the
|
|
117
|
+
* audit file. The human-readable one-line echo to stderr is opt-in via
|
|
118
|
+
* `logCfg.summaryConsole` (default false) so stdout stays clean for pipes and
|
|
119
|
+
* the line never reaches a stderr=ERROR log processor by default.
|
|
117
120
|
*/
|
|
118
121
|
export declare function configureLogging(opts: ConfigureLoggingOptions): void;
|
|
119
122
|
export declare function _resetForTest(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging_setup.d.ts","sourceRoot":"","sources":["../src/logging_setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAa9C,QAAA,MAAM,kBAAkB,uBAAuB,CAAC;AAchD,QAAA,MAAM,gBAAgB,sBAAsB,CAAC;AAc7C,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"logging_setup.d.ts","sourceRoot":"","sources":["../src/logging_setup.ts"],"names":[],"mappings":"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"}
|
package/dist/logging_setup.js
CHANGED
|
@@ -204,8 +204,9 @@ function formatConsole(record, showTracebacks) {
|
|
|
204
204
|
* Treated as the runnable's primary output — captured as the response body
|
|
205
205
|
* when `runspec serve` invokes the runnable as a subprocess.
|
|
206
206
|
*
|
|
207
|
-
* Drops `runspec.runsummary` records — those are file-only; the human
|
|
208
|
-
* of the summary is written directly to stderr by the exit hook
|
|
207
|
+
* Drops `runspec.runsummary` records — those are file-only; the optional human
|
|
208
|
+
* echo of the summary is written directly to stderr by the exit hook (gated by
|
|
209
|
+
* `summary_console`).
|
|
209
210
|
*/
|
|
210
211
|
class StdoutHandler {
|
|
211
212
|
level;
|
|
@@ -485,16 +486,19 @@ function formatSummaryLine(state, durationMs, exitCode) {
|
|
|
485
486
|
const errors = (counts.ERROR ?? 0) + (counts.CRITICAL ?? 0);
|
|
486
487
|
const secs = (durationMs / 1000).toFixed(2);
|
|
487
488
|
const runnable = state.runnable;
|
|
488
|
-
|
|
489
|
-
|
|
489
|
+
// Abbreviated level words ("warn"/"err", never "warning"/"error") keep the line
|
|
490
|
+
// terse. (Stream-tagging log processors like Rundeck classify by stream, not
|
|
491
|
+
// text — this echo is opt-in and stays on stderr, so a clean run isn't flagged
|
|
492
|
+
// ERROR unless an operator turns `summary_console` on in that env.)
|
|
493
|
+
const events = `${total} events (${warnings} warn, ${errors} err)`;
|
|
490
494
|
const userPart = state.userTarget
|
|
491
495
|
? ` | user: ${state.user} → ${state.userTarget} (sudo)`
|
|
492
496
|
: ` | user: ${state.user}`;
|
|
493
497
|
if (state.exception || exitCode !== 0) {
|
|
494
498
|
const excPart = state.exception ? `, ${state.exception.type}` : '';
|
|
495
|
-
return `runspec: ${runnable} failed in ${secs}s — exit ${exitCode}${excPart} — ${
|
|
499
|
+
return `runspec: ${runnable} failed in ${secs}s — exit ${exitCode}${excPart} — ${events}${userPart}`;
|
|
496
500
|
}
|
|
497
|
-
return `runspec: ${runnable} completed in ${secs}s — ${
|
|
501
|
+
return `runspec: ${runnable} completed in ${secs}s — ${events}${userPart}`;
|
|
498
502
|
}
|
|
499
503
|
/**
|
|
500
504
|
* Emit one summary record to the file (via the standard logger pipeline —
|
|
@@ -510,29 +514,37 @@ function emitRunSummary() {
|
|
|
510
514
|
// Exit code: explicit capture (set by uncaughtException hook) or
|
|
511
515
|
// process.exitCode if the user set it. Defaults to 0.
|
|
512
516
|
const exitCode = state.exitCode !== 0 ? state.exitCode : (state.exception ? 1 : 0);
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
517
|
+
// Audit record — gated by `summary`; the data the console + `runspec logs` read.
|
|
518
|
+
if (state.writeRecord) {
|
|
519
|
+
try {
|
|
520
|
+
getLogger(RUN_SUMMARY_LOGGER).info('run completed', {
|
|
521
|
+
event: 'run_summary',
|
|
522
|
+
runnable: state.runnable,
|
|
523
|
+
command_path: state.commandPath,
|
|
524
|
+
duration_ms: durationMs,
|
|
525
|
+
exit_code: exitCode,
|
|
526
|
+
agent: state.agent,
|
|
527
|
+
autonomy: state.autonomy,
|
|
528
|
+
exception: state.exception,
|
|
529
|
+
events: { ...state.counter.counts },
|
|
530
|
+
user: state.user,
|
|
531
|
+
user_target: state.userTarget ?? null,
|
|
532
|
+
});
|
|
533
|
+
}
|
|
534
|
+
catch {
|
|
535
|
+
// never disrupt shutdown
|
|
536
|
+
}
|
|
533
537
|
}
|
|
534
|
-
|
|
535
|
-
|
|
538
|
+
// Human-readable echo — opt-in (`summary_console`). Stays on stderr so it never
|
|
539
|
+
// pollutes stdout pipes; off by default so it never reaches Rundeck's
|
|
540
|
+
// stderr=ERROR tagging unless the operator explicitly asks for it.
|
|
541
|
+
if (state.writeConsole) {
|
|
542
|
+
try {
|
|
543
|
+
process.stderr.write(formatSummaryLine(state, durationMs, exitCode) + '\n');
|
|
544
|
+
}
|
|
545
|
+
catch {
|
|
546
|
+
// never disrupt shutdown
|
|
547
|
+
}
|
|
536
548
|
}
|
|
537
549
|
}
|
|
538
550
|
// ── uncaught exceptions ────────────────────────────────────────────────────────
|
|
@@ -756,7 +768,10 @@ function installExitHooks() {
|
|
|
756
768
|
*
|
|
757
769
|
* Run summary (when `logCfg.summary` is true and `noSummary` is false)
|
|
758
770
|
* counts log events by level and emits a single record at process exit
|
|
759
|
-
* with duration, exit code, exception class, and per-level counts
|
|
771
|
+
* with duration, exit code, exception class, and per-level counts to the
|
|
772
|
+
* audit file. The human-readable one-line echo to stderr is opt-in via
|
|
773
|
+
* `logCfg.summaryConsole` (default false) so stdout stays clean for pipes and
|
|
774
|
+
* the line never reaches a stderr=ERROR log processor by default.
|
|
760
775
|
*/
|
|
761
776
|
function configureLogging(opts) {
|
|
762
777
|
if (!opts.logCfg || _configured)
|
|
@@ -785,10 +800,17 @@ function configureLogging(opts) {
|
|
|
785
800
|
const counter = new RunSummaryCounter();
|
|
786
801
|
_handlers.push(counter);
|
|
787
802
|
const runnablePrefix = opts.runnableName.toUpperCase().replace(/-/g, '_');
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
803
|
+
// Per-invocation kill switch (--no-summary / env) suppresses both parts.
|
|
804
|
+
const suppressed = !!opts.noSummary ||
|
|
805
|
+
['1', 'true', 'yes'].includes((process.env[`RUNSPEC_${runnablePrefix}_ARG_NO_SUMMARY`] ?? '').toLowerCase());
|
|
806
|
+
// `summary` gates the structured audit record (the data the console
|
|
807
|
+
// history/analytics tabs and `runspec logs` read). `summary_console` gates the
|
|
808
|
+
// human-readable terminal echo — off by default so stdout stays clean for pipes
|
|
809
|
+
// and the line never reaches a stream that log processors (e.g. Rundeck, which
|
|
810
|
+
// tags stderr as ERROR) would flag.
|
|
811
|
+
const writeRecord = opts.logCfg.summary !== false && !suppressed;
|
|
812
|
+
const writeConsole = opts.logCfg.summaryConsole === true && !suppressed;
|
|
813
|
+
if (writeRecord || writeConsole) {
|
|
792
814
|
const [user, userTarget] = _getInvoker();
|
|
793
815
|
_summaryState = {
|
|
794
816
|
counter,
|
|
@@ -802,6 +824,8 @@ function configureLogging(opts) {
|
|
|
802
824
|
emitted: false,
|
|
803
825
|
user,
|
|
804
826
|
userTarget,
|
|
827
|
+
writeRecord,
|
|
828
|
+
writeConsole,
|
|
805
829
|
};
|
|
806
830
|
}
|
|
807
831
|
// Tee stdout into the audit log so printed output (not just the run summary)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging_setup.js","sourceRoot":"","sources":["../src/logging_setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logging_setup.js","sourceRoot":"","sources":["../src/logging_setup.ts"],"names":[],"mappings":"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"}
|
package/dist/models.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
export interface LoggingConfig {
|
|
2
2
|
rotate: string;
|
|
3
3
|
keep: number;
|
|
4
|
+
/** Write the structured run-summary record to the audit log (default true) —
|
|
5
|
+
* the data the console history/analytics tabs and `runspec logs` read. */
|
|
4
6
|
summary: boolean;
|
|
7
|
+
/** Also echo a one-line human-readable summary to stderr at exit (default
|
|
8
|
+
* false). Off by default so stdout stays clean for pipes and the line is
|
|
9
|
+
* never tagged ERROR by stream-classifying log processors (e.g. Rundeck). */
|
|
10
|
+
summaryConsole?: boolean;
|
|
5
11
|
/** Log file layout: 'single' (default, one rotating {runnable}.log) or
|
|
6
12
|
* 'per-run' (one {runnable}.{utc-ts}.{run_id}.log per invocation). */
|
|
7
13
|
store?: string;
|
package/dist/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/loader.ts
CHANGED
|
@@ -35,10 +35,13 @@ function normaliseLogging(raw: Record<string, unknown> | undefined): LoggingConf
|
|
|
35
35
|
// response body), and verbosity for debugging is handled by the `--debug`
|
|
36
36
|
// flag injected at parse time.
|
|
37
37
|
//
|
|
38
|
-
// `summary` (default true) writes one record per run to the audit
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
//
|
|
38
|
+
// `summary` (default true) writes one structured record per run to the audit
|
|
39
|
+
// log at process exit (duration, exit code, per-level event counts) — the data
|
|
40
|
+
// the console history/analytics tabs and `runspec logs` read. `summary_console`
|
|
41
|
+
// (default false) additionally echoes a one-line human-readable summary to the
|
|
42
|
+
// terminal (stderr); off by default so stdout stays clean for pipes and the
|
|
43
|
+
// line never lands on a stream that log processors (e.g. Rundeck) tag as ERROR.
|
|
44
|
+
// Suppress both per-invocation with `--no-summary` or `RUNSPEC_NO_SUMMARY=1`.
|
|
42
45
|
if (raw === undefined) return undefined;
|
|
43
46
|
// `store` selects the file layout: 'single' = one rotating {runnable}.log;
|
|
44
47
|
// 'per-run' = one file per invocation. Unknown values fall back to 'single'
|
|
@@ -48,6 +51,7 @@ function normaliseLogging(raw: Record<string, unknown> | undefined): LoggingConf
|
|
|
48
51
|
rotate: String(raw['rotate'] ?? 'midnight'),
|
|
49
52
|
keep: Number(raw['keep'] ?? 7),
|
|
50
53
|
summary: raw['summary'] !== undefined ? Boolean(raw['summary']) : true,
|
|
54
|
+
summaryConsole: raw['summary_console'] !== undefined ? Boolean(raw['summary_console']) : false,
|
|
51
55
|
store: store === 'per-run' ? 'per-run' : 'single',
|
|
52
56
|
};
|
|
53
57
|
}
|
package/src/logging_setup.ts
CHANGED
|
@@ -75,6 +75,10 @@ interface SummaryState {
|
|
|
75
75
|
emitted: boolean;
|
|
76
76
|
user: string;
|
|
77
77
|
userTarget: string | undefined;
|
|
78
|
+
/** Write the structured record to the audit log (gated by `summary`). */
|
|
79
|
+
writeRecord: boolean;
|
|
80
|
+
/** Echo the human-readable line to stderr (gated by `summary_console`). */
|
|
81
|
+
writeConsole: boolean;
|
|
78
82
|
}
|
|
79
83
|
|
|
80
84
|
let _summaryState: SummaryState | null = null;
|
|
@@ -225,8 +229,9 @@ function formatConsole(record: LogRecord, showTracebacks: boolean): string {
|
|
|
225
229
|
* Treated as the runnable's primary output — captured as the response body
|
|
226
230
|
* when `runspec serve` invokes the runnable as a subprocess.
|
|
227
231
|
*
|
|
228
|
-
* Drops `runspec.runsummary` records — those are file-only; the human
|
|
229
|
-
* of the summary is written directly to stderr by the exit hook
|
|
232
|
+
* Drops `runspec.runsummary` records — those are file-only; the optional human
|
|
233
|
+
* echo of the summary is written directly to stderr by the exit hook (gated by
|
|
234
|
+
* `summary_console`).
|
|
230
235
|
*/
|
|
231
236
|
class StdoutHandler implements Handler {
|
|
232
237
|
constructor(public readonly level: number, private readonly showTracebacks: boolean) {}
|
|
@@ -490,16 +495,19 @@ function formatSummaryLine(state: SummaryState, durationMs: number, exitCode: nu
|
|
|
490
495
|
const errors = (counts.ERROR ?? 0) + (counts.CRITICAL ?? 0);
|
|
491
496
|
const secs = (durationMs / 1000).toFixed(2);
|
|
492
497
|
const runnable = state.runnable;
|
|
493
|
-
|
|
494
|
-
|
|
498
|
+
// Abbreviated level words ("warn"/"err", never "warning"/"error") keep the line
|
|
499
|
+
// terse. (Stream-tagging log processors like Rundeck classify by stream, not
|
|
500
|
+
// text — this echo is opt-in and stays on stderr, so a clean run isn't flagged
|
|
501
|
+
// ERROR unless an operator turns `summary_console` on in that env.)
|
|
502
|
+
const events = `${total} events (${warnings} warn, ${errors} err)`;
|
|
495
503
|
const userPart = state.userTarget
|
|
496
504
|
? ` | user: ${state.user} → ${state.userTarget} (sudo)`
|
|
497
505
|
: ` | user: ${state.user}`;
|
|
498
506
|
if (state.exception || exitCode !== 0) {
|
|
499
507
|
const excPart = state.exception ? `, ${state.exception.type}` : '';
|
|
500
|
-
return `runspec: ${runnable} failed in ${secs}s — exit ${exitCode}${excPart} — ${
|
|
508
|
+
return `runspec: ${runnable} failed in ${secs}s — exit ${exitCode}${excPart} — ${events}${userPart}`;
|
|
501
509
|
}
|
|
502
|
-
return `runspec: ${runnable} completed in ${secs}s — ${
|
|
510
|
+
return `runspec: ${runnable} completed in ${secs}s — ${events}${userPart}`;
|
|
503
511
|
}
|
|
504
512
|
|
|
505
513
|
/**
|
|
@@ -517,28 +525,36 @@ export function emitRunSummary(): void {
|
|
|
517
525
|
// process.exitCode if the user set it. Defaults to 0.
|
|
518
526
|
const exitCode = state.exitCode !== 0 ? state.exitCode : (state.exception ? 1 : 0);
|
|
519
527
|
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
528
|
+
// Audit record — gated by `summary`; the data the console + `runspec logs` read.
|
|
529
|
+
if (state.writeRecord) {
|
|
530
|
+
try {
|
|
531
|
+
getLogger(RUN_SUMMARY_LOGGER).info('run completed', {
|
|
532
|
+
event: 'run_summary',
|
|
533
|
+
runnable: state.runnable,
|
|
534
|
+
command_path: state.commandPath,
|
|
535
|
+
duration_ms: durationMs,
|
|
536
|
+
exit_code: exitCode,
|
|
537
|
+
agent: state.agent,
|
|
538
|
+
autonomy: state.autonomy,
|
|
539
|
+
exception: state.exception,
|
|
540
|
+
events: { ...state.counter.counts },
|
|
541
|
+
user: state.user,
|
|
542
|
+
user_target: state.userTarget ?? null,
|
|
543
|
+
});
|
|
544
|
+
} catch {
|
|
545
|
+
// never disrupt shutdown
|
|
546
|
+
}
|
|
536
547
|
}
|
|
537
548
|
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
549
|
+
// Human-readable echo — opt-in (`summary_console`). Stays on stderr so it never
|
|
550
|
+
// pollutes stdout pipes; off by default so it never reaches Rundeck's
|
|
551
|
+
// stderr=ERROR tagging unless the operator explicitly asks for it.
|
|
552
|
+
if (state.writeConsole) {
|
|
553
|
+
try {
|
|
554
|
+
process.stderr.write(formatSummaryLine(state, durationMs, exitCode) + '\n');
|
|
555
|
+
} catch {
|
|
556
|
+
// never disrupt shutdown
|
|
557
|
+
}
|
|
542
558
|
}
|
|
543
559
|
}
|
|
544
560
|
|
|
@@ -779,7 +795,10 @@ export interface ConfigureLoggingOptions {
|
|
|
779
795
|
*
|
|
780
796
|
* Run summary (when `logCfg.summary` is true and `noSummary` is false)
|
|
781
797
|
* counts log events by level and emits a single record at process exit
|
|
782
|
-
* with duration, exit code, exception class, and per-level counts
|
|
798
|
+
* with duration, exit code, exception class, and per-level counts to the
|
|
799
|
+
* audit file. The human-readable one-line echo to stderr is opt-in via
|
|
800
|
+
* `logCfg.summaryConsole` (default false) so stdout stays clean for pipes and
|
|
801
|
+
* the line never reaches a stderr=ERROR log processor by default.
|
|
783
802
|
*/
|
|
784
803
|
export function configureLogging(opts: ConfigureLoggingOptions): void {
|
|
785
804
|
if (!opts.logCfg || _configured) return;
|
|
@@ -812,12 +831,19 @@ export function configureLogging(opts: ConfigureLoggingOptions): void {
|
|
|
812
831
|
_handlers.push(counter);
|
|
813
832
|
|
|
814
833
|
const runnablePrefix = opts.runnableName.toUpperCase().replace(/-/g, '_');
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
834
|
+
// Per-invocation kill switch (--no-summary / env) suppresses both parts.
|
|
835
|
+
const suppressed =
|
|
836
|
+
!!opts.noSummary ||
|
|
837
|
+
['1', 'true', 'yes'].includes((process.env[`RUNSPEC_${runnablePrefix}_ARG_NO_SUMMARY`] ?? '').toLowerCase());
|
|
838
|
+
// `summary` gates the structured audit record (the data the console
|
|
839
|
+
// history/analytics tabs and `runspec logs` read). `summary_console` gates the
|
|
840
|
+
// human-readable terminal echo — off by default so stdout stays clean for pipes
|
|
841
|
+
// and the line never reaches a stream that log processors (e.g. Rundeck, which
|
|
842
|
+
// tags stderr as ERROR) would flag.
|
|
843
|
+
const writeRecord = opts.logCfg.summary !== false && !suppressed;
|
|
844
|
+
const writeConsole = opts.logCfg.summaryConsole === true && !suppressed;
|
|
845
|
+
|
|
846
|
+
if (writeRecord || writeConsole) {
|
|
821
847
|
const [user, userTarget] = _getInvoker();
|
|
822
848
|
_summaryState = {
|
|
823
849
|
counter,
|
|
@@ -831,6 +857,8 @@ export function configureLogging(opts: ConfigureLoggingOptions): void {
|
|
|
831
857
|
emitted: false,
|
|
832
858
|
user,
|
|
833
859
|
userTarget,
|
|
860
|
+
writeRecord,
|
|
861
|
+
writeConsole,
|
|
834
862
|
};
|
|
835
863
|
}
|
|
836
864
|
|
package/src/models.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
export interface LoggingConfig {
|
|
2
2
|
rotate: string;
|
|
3
3
|
keep: number;
|
|
4
|
+
/** Write the structured run-summary record to the audit log (default true) —
|
|
5
|
+
* the data the console history/analytics tabs and `runspec logs` read. */
|
|
4
6
|
summary: boolean;
|
|
7
|
+
/** Also echo a one-line human-readable summary to stderr at exit (default
|
|
8
|
+
* false). Off by default so stdout stays clean for pipes and the line is
|
|
9
|
+
* never tagged ERROR by stream-classifying log processors (e.g. Rundeck). */
|
|
10
|
+
summaryConsole?: boolean;
|
|
5
11
|
/** Log file layout: 'single' (default, one rotating {runnable}.log) or
|
|
6
12
|
* 'per-run' (one {runnable}.{utc-ts}.{run_id}.log per invocation). */
|
|
7
13
|
store?: string;
|
|
@@ -178,7 +178,7 @@ test('normalises [config.logging] with defaults', () => {
|
|
|
178
178
|
description = "hi"
|
|
179
179
|
`);
|
|
180
180
|
const raw = loadRaw(file);
|
|
181
|
-
expect(raw.config.logging).toEqual({ rotate: 'midnight', keep: 7, summary: true, store: 'single' });
|
|
181
|
+
expect(raw.config.logging).toEqual({ rotate: 'midnight', keep: 7, summary: true, summaryConsole: false, store: 'single' });
|
|
182
182
|
});
|
|
183
183
|
|
|
184
184
|
test('normalises [config.logging] store = per-run', () => {
|
|
@@ -222,7 +222,7 @@ summary = false
|
|
|
222
222
|
description = "hi"
|
|
223
223
|
`);
|
|
224
224
|
const raw = loadRaw(file);
|
|
225
|
-
expect(raw.config.logging).toEqual({ rotate: '10 MB', keep: 3, summary: false, store: 'single' });
|
|
225
|
+
expect(raw.config.logging).toEqual({ rotate: '10 MB', keep: 3, summary: false, summaryConsole: false, store: 'single' });
|
|
226
226
|
});
|
|
227
227
|
|
|
228
228
|
test('[config.logging] summary defaults to true when omitted', () => {
|
|
@@ -111,9 +111,9 @@ test('summary writes one record to the audit file', () => {
|
|
|
111
111
|
expect(typeof s.extra.duration_ms).toBe('number');
|
|
112
112
|
});
|
|
113
113
|
|
|
114
|
-
test('
|
|
114
|
+
test('summary_console writes a one-line summary to stderr', () => {
|
|
115
115
|
const dir = tmpDir();
|
|
116
|
-
configureLogging(makeCfg(dir));
|
|
116
|
+
configureLogging(makeCfg(dir, { summaryConsole: true }));
|
|
117
117
|
getLogger('test.stderr').info('ran');
|
|
118
118
|
const cap = captureStderr();
|
|
119
119
|
emitRunSummary();
|
|
@@ -123,6 +123,21 @@ test('summary writes a one-line summary to stderr', () => {
|
|
|
123
123
|
expect(joined).toContain('events');
|
|
124
124
|
});
|
|
125
125
|
|
|
126
|
+
test('console echo is off by default — record written, no stderr line', () => {
|
|
127
|
+
const dir = tmpDir();
|
|
128
|
+
configureLogging(makeCfg(dir)); // summary on (default), summary_console off (default)
|
|
129
|
+
getLogger('test.default').info('ran');
|
|
130
|
+
const cap = captureStderr();
|
|
131
|
+
emitRunSummary();
|
|
132
|
+
cap.restore();
|
|
133
|
+
// No human-readable line on stderr...
|
|
134
|
+
expect(cap.lines.join('')).not.toContain('runspec: myscript');
|
|
135
|
+
// ...but the structured audit record is still written to the file.
|
|
136
|
+
const content = fs.readFileSync(path.join(dir, 'logs', 'myscript.log'), 'utf-8');
|
|
137
|
+
const summary = content.trim().split('\n').map(l => JSON.parse(l)).find(o => o.logger === RUN_SUMMARY_LOGGER);
|
|
138
|
+
expect(summary.extra.event).toBe('run_summary');
|
|
139
|
+
});
|
|
140
|
+
|
|
126
141
|
test('summary is not echoed to stdout or stderr via console handlers', () => {
|
|
127
142
|
const dir = tmpDir();
|
|
128
143
|
const stdoutLines: string[] = [];
|
|
@@ -163,13 +178,36 @@ test('noSummary option disables summary', () => {
|
|
|
163
178
|
expect(fs.existsSync(path.join(dir, 'logs', 'myscript.log'))).toBe(false);
|
|
164
179
|
});
|
|
165
180
|
|
|
166
|
-
test('summary=false in config disables
|
|
181
|
+
test('summary=false in config disables the audit record', () => {
|
|
167
182
|
const dir = tmpDir();
|
|
168
183
|
configureLogging(makeCfg(dir, { summary: false }));
|
|
184
|
+
getLogger('t').info('ran');
|
|
169
185
|
const cap = captureStderr();
|
|
170
186
|
emitRunSummary();
|
|
171
187
|
cap.restore();
|
|
172
188
|
expect(cap.lines.join('')).not.toContain('runspec: ');
|
|
189
|
+
const logFile = path.join(dir, 'logs', 'myscript.log');
|
|
190
|
+
const records = fs.existsSync(logFile)
|
|
191
|
+
? fs.readFileSync(logFile, 'utf-8').trim().split('\n').map(l => JSON.parse(l))
|
|
192
|
+
: [];
|
|
193
|
+
expect(records.find(o => o.logger === RUN_SUMMARY_LOGGER)).toBeUndefined();
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
test('summary_console works independently of summary (line on, record off)', () => {
|
|
197
|
+
const dir = tmpDir();
|
|
198
|
+
configureLogging(makeCfg(dir, { summary: false, summaryConsole: true }));
|
|
199
|
+
getLogger('t').info('ran');
|
|
200
|
+
const cap = captureStderr();
|
|
201
|
+
emitRunSummary();
|
|
202
|
+
cap.restore();
|
|
203
|
+
// The human line is emitted...
|
|
204
|
+
expect(cap.lines.join('')).toContain('runspec: myscript completed');
|
|
205
|
+
// ...but no run_summary record lands in the audit file.
|
|
206
|
+
const logFile = path.join(dir, 'logs', 'myscript.log');
|
|
207
|
+
const records = fs.existsSync(logFile)
|
|
208
|
+
? fs.readFileSync(logFile, 'utf-8').trim().split('\n').map(l => JSON.parse(l))
|
|
209
|
+
: [];
|
|
210
|
+
expect(records.find(o => o.logger === RUN_SUMMARY_LOGGER)).toBeUndefined();
|
|
173
211
|
});
|
|
174
212
|
|
|
175
213
|
test('RUNSPEC_MYSCRIPT_ARG_NO_SUMMARY=1 disables summary', () => {
|
|
@@ -184,27 +222,29 @@ test('RUNSPEC_MYSCRIPT_ARG_NO_SUMMARY=1 disables summary', () => {
|
|
|
184
222
|
|
|
185
223
|
// ── stderr line shape ────────────────────────────────────────────────────────
|
|
186
224
|
|
|
187
|
-
test('success line uses
|
|
225
|
+
test('success line uses abbreviated "warn"/"err" (no "warning"/"error")', () => {
|
|
226
|
+
// Abbreviated levels keep the line terse (the console echo is opt-in).
|
|
188
227
|
const dir = tmpDir();
|
|
189
|
-
configureLogging(makeCfg(dir));
|
|
228
|
+
configureLogging(makeCfg(dir, { summaryConsole: true }));
|
|
190
229
|
getLogger('t').warning('one');
|
|
191
230
|
const cap = captureStderr();
|
|
192
231
|
emitRunSummary();
|
|
193
232
|
cap.restore();
|
|
194
233
|
const joined = cap.lines.join('');
|
|
195
|
-
expect(joined).toContain('1
|
|
196
|
-
expect(joined).toContain('
|
|
234
|
+
expect(joined).toContain('(1 warn, 0 err)');
|
|
235
|
+
expect(joined).not.toContain('warning');
|
|
236
|
+
expect(joined).not.toContain('error');
|
|
197
237
|
});
|
|
198
238
|
|
|
199
|
-
test('
|
|
239
|
+
test('counts render without pluralising the level words', () => {
|
|
200
240
|
const dir = tmpDir();
|
|
201
|
-
configureLogging(makeCfg(dir));
|
|
241
|
+
configureLogging(makeCfg(dir, { summaryConsole: true }));
|
|
202
242
|
getLogger('t').warning('a');
|
|
203
243
|
getLogger('t').warning('b');
|
|
204
244
|
const cap = captureStderr();
|
|
205
245
|
emitRunSummary();
|
|
206
246
|
cap.restore();
|
|
207
|
-
expect(cap.lines.join('')).toContain('2
|
|
247
|
+
expect(cap.lines.join('')).toContain('2 warn,');
|
|
208
248
|
});
|
|
209
249
|
|
|
210
250
|
// ── invoker capture ──────────────────────────────────────────────────────────
|
|
@@ -214,7 +254,7 @@ test('user appended to stderr line (no sudo)', () => {
|
|
|
214
254
|
const origSudo = process.env['SUDO_USER'];
|
|
215
255
|
delete process.env['SUDO_USER'];
|
|
216
256
|
process.env['USER'] = 'alice';
|
|
217
|
-
configureLogging(makeCfg(dir));
|
|
257
|
+
configureLogging(makeCfg(dir, { summaryConsole: true }));
|
|
218
258
|
const cap = captureStderr();
|
|
219
259
|
emitRunSummary();
|
|
220
260
|
cap.restore();
|
|
@@ -226,7 +266,7 @@ test('sudo user shown with arrow and target', () => {
|
|
|
226
266
|
const dir = tmpDir();
|
|
227
267
|
process.env['SUDO_USER'] = 'alice';
|
|
228
268
|
process.env['USER'] = 'root';
|
|
229
|
-
configureLogging(makeCfg(dir));
|
|
269
|
+
configureLogging(makeCfg(dir, { summaryConsole: true }));
|
|
230
270
|
const cap = captureStderr();
|
|
231
271
|
emitRunSummary();
|
|
232
272
|
cap.restore();
|