snugkv-nest 0.7.0 → 0.8.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/README.md +14 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/logs.d.ts +97 -0
- package/dist/core/logs.js +310 -0
- package/dist/core/logs.js.map +1 -0
- package/dist/nest/module.d.ts +9 -0
- package/dist/nest/module.js +27 -2
- package/dist/nest/module.js.map +1 -1
- package/dist/nest/runtime.js +4 -0
- package/dist/nest/runtime.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -184,6 +184,20 @@ What is traced without any code:
|
|
|
184
184
|
Options: `tracing: { http, ignorePaths, httpClient, stream, maxLen, batchSize, flushMs, maxBuffer, redact, maxAttrLength }`.
|
|
185
185
|
Without Nest: `const tracer = new Tracer(client, { service: 'api' }); setTracer(tracer);`
|
|
186
186
|
|
|
187
|
+
## Log shipping
|
|
188
|
+
|
|
189
|
+
```ts
|
|
190
|
+
SnugKvModule.forRoot({ url: 'snugkv://localhost:6383', service: 'ledger', logs: true });
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Everything the app writes to stdout and stderr (Nest's logger, winston, pino, `console.log`, stack traces) is also written to the `snug:logs` stream. The terminal output does not change. The Logs page of the SnugKV console then shows the logs of every service in one place, with live tail, level and service filters and search.
|
|
194
|
+
|
|
195
|
+
- Levels and contexts are read from Nest's console format, winston's `timestamp [Context] level: message`, JSON lines (`level`, `message`/`msg`, `context`) and `console.warn`/`console.error`. Anything else on stdout is `info`, on stderr `error`.
|
|
196
|
+
- A line written inside a trace carries the trace id, so the console links it to the flow on the Traces page.
|
|
197
|
+
- Lines are written in batches and kept in memory while the server is unreachable (newest 5,000). Shipping never throws into your code.
|
|
198
|
+
|
|
199
|
+
Options (`logs: { … }`): `level` (lowest level shipped, default `debug`), `stream` (default `snug:logs`), `maxLen` (stream cap, default 100,000), `maxMessageLength` (default 8,000), `batchSize`, `flushMs`, `maxBuffer`, `instance` (default: host name). Without Nest: `captureLogs(new LogShipper(client, { service: 'worker' }))`.
|
|
200
|
+
|
|
187
201
|
## Service map
|
|
188
202
|
|
|
189
203
|
Every app using `SnugKvModule` describes itself in SnugKV so tools can draw the whole system: the SnugKV console's **Map** page shows each service with its HTTP routes, the queues it adds jobs to and works on, and the topics it publishes and reads, connected into one picture. Nothing to write by hand.
|
package/dist/core/index.d.ts
CHANGED
package/dist/core/index.js
CHANGED
|
@@ -34,5 +34,6 @@ __exportStar(require("./ratelimit"), exports);
|
|
|
34
34
|
__exportStar(require("./queue"), exports);
|
|
35
35
|
__exportStar(require("./trace"), exports);
|
|
36
36
|
__exportStar(require("./trace-http"), exports);
|
|
37
|
+
__exportStar(require("./logs"), exports);
|
|
37
38
|
__exportStar(require("./service-map"), exports);
|
|
38
39
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,2CAA8E;AAArE,wGAAA,UAAU,OAAA;AAAE,6GAAA,eAAe,OAAA;AACpC,2CAAyB;AACzB,6CAA2B;AAC3B,8CAA4B;AAC5B,6CAA2B;AAC3B,wCAAsB;AACtB,+BAA6C;AAAzB,gGAAA,QAAQ,OAAA;AAC5B,2CAAyB;AACzB,uCAAqB;AACrB,0CAAwB;AACxB,yCAAuB;AACvB,8CAA4B;AAC5B,0CAAwB;AACxB,0CAAwB;AACxB,+CAA6B;AAC7B,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,2CAA8E;AAArE,wGAAA,UAAU,OAAA;AAAE,6GAAA,eAAe,OAAA;AACpC,2CAAyB;AACzB,6CAA2B;AAC3B,8CAA4B;AAC5B,6CAA2B;AAC3B,wCAAsB;AACtB,+BAA6C;AAAzB,gGAAA,QAAQ,OAAA;AAC5B,2CAAyB;AACzB,uCAAqB;AACrB,0CAAwB;AACxB,yCAAuB;AACvB,8CAA4B;AAC5B,0CAAwB;AACxB,0CAAwB;AACxB,+CAA6B;AAC7B,yCAAuB;AACvB,gDAA8B"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { SnugKvClient } from './client';
|
|
2
|
+
/**
|
|
3
|
+
* Log shipping: every line an app writes to stdout or stderr (Nest's logger,
|
|
4
|
+
* winston, pino, plain console.log) is also written to a SnugKV stream
|
|
5
|
+
* (`snug:logs`), so one console can show the logs of all services together.
|
|
6
|
+
*
|
|
7
|
+
* Lines keep going to the terminal unchanged. Levels and contexts are read
|
|
8
|
+
* from the common formats (Nest, winston, JSON lines); a line written inside
|
|
9
|
+
* a trace carries its trace id, so the console links the two.
|
|
10
|
+
*/
|
|
11
|
+
export type LogLevel = 'error' | 'warn' | 'info' | 'debug';
|
|
12
|
+
/** One log line (or one multi-line entry, such as an error with its stack). */
|
|
13
|
+
export interface LogRecord {
|
|
14
|
+
/** Time, ms since epoch. */
|
|
15
|
+
ts: number;
|
|
16
|
+
service: string;
|
|
17
|
+
instance: string;
|
|
18
|
+
level: LogLevel;
|
|
19
|
+
/** Nest/winston context (the class name in `[TokenService]`), if any. */
|
|
20
|
+
context?: string;
|
|
21
|
+
message: string;
|
|
22
|
+
traceId?: string;
|
|
23
|
+
spanId?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface LogShipperOptions {
|
|
26
|
+
/** Name of this app, shown on every line. */
|
|
27
|
+
service: string;
|
|
28
|
+
/** This process (default: host name, the container id in Docker). */
|
|
29
|
+
instance?: string;
|
|
30
|
+
/** Stream the lines go to (default `snug:logs`). */
|
|
31
|
+
stream?: string;
|
|
32
|
+
/** Approximate cap on the stream length (default 100,000). */
|
|
33
|
+
maxLen?: number;
|
|
34
|
+
/** Lowest level shipped (default `debug`, i.e. everything). */
|
|
35
|
+
level?: LogLevel;
|
|
36
|
+
/** Write after this many lines are buffered (default 200). */
|
|
37
|
+
batchSize?: number;
|
|
38
|
+
/** Write buffered lines at least this often, ms (default 500). */
|
|
39
|
+
flushMs?: number;
|
|
40
|
+
/** Lines kept while the server is unreachable; older ones are dropped (default 5,000). */
|
|
41
|
+
maxBuffer?: number;
|
|
42
|
+
/** Longest message kept (default 8,000 characters). */
|
|
43
|
+
maxMessageLength?: number;
|
|
44
|
+
/** Called when lines cannot be written. Shipping never throws into your code. */
|
|
45
|
+
onError?: (err: unknown) => void;
|
|
46
|
+
}
|
|
47
|
+
export declare class LogShipper {
|
|
48
|
+
private readonly client;
|
|
49
|
+
readonly service: string;
|
|
50
|
+
readonly instance: string;
|
|
51
|
+
readonly stream: string;
|
|
52
|
+
private readonly maxLen;
|
|
53
|
+
private readonly minRank;
|
|
54
|
+
private readonly batchSize;
|
|
55
|
+
private readonly maxBuffer;
|
|
56
|
+
private readonly maxMessageLength;
|
|
57
|
+
private readonly onError;
|
|
58
|
+
private buffer;
|
|
59
|
+
private timer;
|
|
60
|
+
private flushing;
|
|
61
|
+
constructor(client: Pick<SnugKvClient, 'pipeline'>, options: LogShipperOptions);
|
|
62
|
+
/** Queues one line. Lines below the configured level are dropped. */
|
|
63
|
+
ship(line: Omit<LogRecord, 'service' | 'instance' | 'ts'> & {
|
|
64
|
+
ts?: number;
|
|
65
|
+
}): void;
|
|
66
|
+
/** Writes buffered lines now. Resolves when they are written (or kept for later on error). */
|
|
67
|
+
flush(): Promise<void>;
|
|
68
|
+
/** Flushes and stops the timer. */
|
|
69
|
+
close(): Promise<void>;
|
|
70
|
+
}
|
|
71
|
+
export declare function toLevel(word: string | number | undefined, fallback?: LogLevel): LogLevel;
|
|
72
|
+
export interface ParsedLine {
|
|
73
|
+
level: LogLevel;
|
|
74
|
+
context?: string;
|
|
75
|
+
message: string;
|
|
76
|
+
/** Time written in the line itself, if it had one. */
|
|
77
|
+
ts?: number;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Level, context and message of one formatted entry. `fallback` is the level
|
|
81
|
+
* when the line does not say (from the console method or the output stream).
|
|
82
|
+
*/
|
|
83
|
+
export declare function parseLogLine(raw: string, fallback?: LogLevel): ParsedLine;
|
|
84
|
+
/**
|
|
85
|
+
* Splits one write into entries. A write is usually one entry (several lines
|
|
86
|
+
* only for a stack or a printed object); it is split only where a line starts
|
|
87
|
+
* a new entry of a known format.
|
|
88
|
+
*/
|
|
89
|
+
export declare function splitEntries(chunk: string): string[];
|
|
90
|
+
/** The shipper installed by {@link captureLogs}, if any. */
|
|
91
|
+
export declare function getLogShipper(): LogShipper | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* Copies everything the process writes to stdout and stderr to `shipper`
|
|
94
|
+
* (the terminal output is unchanged). Returns a function that undoes it.
|
|
95
|
+
* Installing again replaces the previous capture.
|
|
96
|
+
*/
|
|
97
|
+
export declare function captureLogs(shipper: LogShipper): () => void;
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LogShipper = void 0;
|
|
4
|
+
exports.toLevel = toLevel;
|
|
5
|
+
exports.parseLogLine = parseLogLine;
|
|
6
|
+
exports.splitEntries = splitEntries;
|
|
7
|
+
exports.getLogShipper = getLogShipper;
|
|
8
|
+
exports.captureLogs = captureLogs;
|
|
9
|
+
const node_os_1 = require("node:os");
|
|
10
|
+
const trace_1 = require("./trace");
|
|
11
|
+
const LEVEL_RANK = { error: 0, warn: 1, info: 2, debug: 3 };
|
|
12
|
+
class LogShipper {
|
|
13
|
+
client;
|
|
14
|
+
service;
|
|
15
|
+
instance;
|
|
16
|
+
stream;
|
|
17
|
+
maxLen;
|
|
18
|
+
minRank;
|
|
19
|
+
batchSize;
|
|
20
|
+
maxBuffer;
|
|
21
|
+
maxMessageLength;
|
|
22
|
+
onError;
|
|
23
|
+
buffer = [];
|
|
24
|
+
timer;
|
|
25
|
+
flushing;
|
|
26
|
+
constructor(client, options) {
|
|
27
|
+
this.client = client;
|
|
28
|
+
this.service = options.service;
|
|
29
|
+
this.instance = options.instance ?? (0, node_os_1.hostname)();
|
|
30
|
+
this.stream = options.stream ?? 'snug:logs';
|
|
31
|
+
this.maxLen = options.maxLen ?? 100_000;
|
|
32
|
+
this.minRank = LEVEL_RANK[options.level ?? 'debug'];
|
|
33
|
+
this.batchSize = options.batchSize ?? 200;
|
|
34
|
+
this.maxBuffer = options.maxBuffer ?? 5_000;
|
|
35
|
+
this.maxMessageLength = options.maxMessageLength ?? 8_000;
|
|
36
|
+
this.onError = options.onError ?? (() => undefined);
|
|
37
|
+
this.timer = setInterval(() => void this.flush(), options.flushMs ?? 500);
|
|
38
|
+
this.timer.unref?.();
|
|
39
|
+
}
|
|
40
|
+
/** Queues one line. Lines below the configured level are dropped. */
|
|
41
|
+
ship(line) {
|
|
42
|
+
if (LEVEL_RANK[line.level] > this.minRank)
|
|
43
|
+
return;
|
|
44
|
+
const message = line.message.length > this.maxMessageLength ? `${line.message.slice(0, this.maxMessageLength)}…` : line.message;
|
|
45
|
+
this.buffer.push({ ...line, message, ts: line.ts ?? Date.now(), service: this.service, instance: this.instance });
|
|
46
|
+
if (this.buffer.length > this.maxBuffer)
|
|
47
|
+
this.buffer.splice(0, this.buffer.length - this.maxBuffer);
|
|
48
|
+
if (this.buffer.length >= this.batchSize)
|
|
49
|
+
void this.flush();
|
|
50
|
+
}
|
|
51
|
+
/** Writes buffered lines now. Resolves when they are written (or kept for later on error). */
|
|
52
|
+
async flush() {
|
|
53
|
+
if (this.flushing)
|
|
54
|
+
return this.flushing;
|
|
55
|
+
if (!this.buffer.length)
|
|
56
|
+
return;
|
|
57
|
+
const batch = this.buffer;
|
|
58
|
+
this.buffer = [];
|
|
59
|
+
const commands = batch.map((l) => [
|
|
60
|
+
'XADD', this.stream, 'MAXLEN', '~', this.maxLen, '*',
|
|
61
|
+
'ts', String(l.ts),
|
|
62
|
+
'service', l.service,
|
|
63
|
+
'instance', l.instance,
|
|
64
|
+
'level', l.level,
|
|
65
|
+
'message', l.message,
|
|
66
|
+
...(l.context ? ['context', l.context] : []),
|
|
67
|
+
...(l.traceId ? ['traceId', l.traceId] : []),
|
|
68
|
+
...(l.spanId ? ['spanId', l.spanId] : []),
|
|
69
|
+
]);
|
|
70
|
+
this.flushing = this.client
|
|
71
|
+
.pipeline(commands)
|
|
72
|
+
.then(() => undefined)
|
|
73
|
+
.catch((err) => {
|
|
74
|
+
// Put the batch back (newest kept) so a short outage loses nothing.
|
|
75
|
+
this.buffer = [...batch, ...this.buffer].slice(-this.maxBuffer);
|
|
76
|
+
this.onError(err);
|
|
77
|
+
})
|
|
78
|
+
.finally(() => {
|
|
79
|
+
this.flushing = undefined;
|
|
80
|
+
});
|
|
81
|
+
return this.flushing;
|
|
82
|
+
}
|
|
83
|
+
/** Flushes and stops the timer. */
|
|
84
|
+
async close() {
|
|
85
|
+
if (this.timer)
|
|
86
|
+
clearInterval(this.timer);
|
|
87
|
+
this.timer = undefined;
|
|
88
|
+
await this.flush();
|
|
89
|
+
if (this.buffer.length)
|
|
90
|
+
await this.flush();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.LogShipper = LogShipper;
|
|
94
|
+
// ----- reading levels and contexts out of formatted lines
|
|
95
|
+
const ANSI = /\x1b\[[0-9;]*[A-Za-z]/g;
|
|
96
|
+
// [Nest] 12 - 10/16/2026, 6:19:00 AM LOG [RouterExplorer] Mapped {/api, GET} route +2ms
|
|
97
|
+
const NEST = /^\[Nest\]\s+\d+\s+-\s+.*?\s{2,}(LOG|ERROR|WARN|DEBUG|VERBOSE|FATAL)\s+(?:\[([^\]]+)\]\s+)?([\s\S]*)$/;
|
|
98
|
+
// 2026-10-15T15:24:40.947Z [TokenService] info: Using network: testnet +8ms
|
|
99
|
+
const WINSTON = /^(\d{4}-\d\d-\d\d[T ][\d:.]+Z?)\s+(?:\[([^\]]+)\]\s+)?(error|warn|warning|info|http|verbose|debug|silly):\s?([\s\S]*)$/i;
|
|
100
|
+
// [warn] something / warn: something / WARN something (not "Error handling…")
|
|
101
|
+
const LEADING_TAG = /^(?:\[(error|err|fatal|warn|warning|info|debug|trace|verbose)\]:?|(error|err|fatal|warn|warning|info|debug|trace|verbose):)\s+([\s\S]*)$/i;
|
|
102
|
+
const LEADING_UPPER = /^(ERROR|ERR|FATAL|WARN|WARNING|INFO|DEBUG|TRACE|VERBOSE)\s+([\s\S]*)$/;
|
|
103
|
+
const NEST_MS = /\s\+\d+ms$/;
|
|
104
|
+
function toLevel(word, fallback = 'info') {
|
|
105
|
+
if (typeof word === 'number') {
|
|
106
|
+
// pino / bunyan numeric levels
|
|
107
|
+
if (word >= 50)
|
|
108
|
+
return 'error';
|
|
109
|
+
if (word >= 40)
|
|
110
|
+
return 'warn';
|
|
111
|
+
if (word >= 30)
|
|
112
|
+
return 'info';
|
|
113
|
+
return 'debug';
|
|
114
|
+
}
|
|
115
|
+
switch ((word ?? '').toLowerCase()) {
|
|
116
|
+
case 'error':
|
|
117
|
+
case 'err':
|
|
118
|
+
case 'fatal':
|
|
119
|
+
case 'crit':
|
|
120
|
+
case 'critical':
|
|
121
|
+
case 'emerg':
|
|
122
|
+
case 'alert':
|
|
123
|
+
return 'error';
|
|
124
|
+
case 'warn':
|
|
125
|
+
case 'warning':
|
|
126
|
+
return 'warn';
|
|
127
|
+
case 'info':
|
|
128
|
+
case 'log':
|
|
129
|
+
case 'http':
|
|
130
|
+
case 'notice':
|
|
131
|
+
return 'info';
|
|
132
|
+
case 'debug':
|
|
133
|
+
case 'verbose':
|
|
134
|
+
case 'silly':
|
|
135
|
+
case 'trace':
|
|
136
|
+
return 'debug';
|
|
137
|
+
default:
|
|
138
|
+
return fallback;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Level, context and message of one formatted entry. `fallback` is the level
|
|
143
|
+
* when the line does not say (from the console method or the output stream).
|
|
144
|
+
*/
|
|
145
|
+
function parseLogLine(raw, fallback = 'info') {
|
|
146
|
+
const text = raw.replace(ANSI, '').replace(/\s+$/, '');
|
|
147
|
+
const first = text.trimStart();
|
|
148
|
+
if (first.startsWith('{') && first.endsWith('}')) {
|
|
149
|
+
try {
|
|
150
|
+
const j = JSON.parse(first);
|
|
151
|
+
const msg = j.message ?? j.msg;
|
|
152
|
+
if (typeof msg === 'string') {
|
|
153
|
+
const ctx = j.context ?? j.ctx ?? j.name;
|
|
154
|
+
const time = typeof j.time === 'number' ? j.time : typeof j.timestamp === 'string' ? Date.parse(j.timestamp) : NaN;
|
|
155
|
+
const out = { level: toLevel(j.level, fallback), message: msg };
|
|
156
|
+
if (typeof ctx === 'string' && ctx)
|
|
157
|
+
out.context = ctx;
|
|
158
|
+
if (Number.isFinite(time))
|
|
159
|
+
out.ts = time;
|
|
160
|
+
if (typeof j.stack === 'string' && !msg.includes(j.stack))
|
|
161
|
+
out.message = `${msg}\n${j.stack}`;
|
|
162
|
+
return out;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
/* not JSON after all */
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
let m = NEST.exec(text);
|
|
170
|
+
if (m) {
|
|
171
|
+
const out = { level: toLevel(m[1], fallback), message: m[3].replace(NEST_MS, '') };
|
|
172
|
+
if (m[2])
|
|
173
|
+
out.context = m[2];
|
|
174
|
+
return out;
|
|
175
|
+
}
|
|
176
|
+
m = WINSTON.exec(text);
|
|
177
|
+
if (m) {
|
|
178
|
+
const out = { level: toLevel(m[3], fallback), message: m[4].replace(NEST_MS, '') };
|
|
179
|
+
if (m[2])
|
|
180
|
+
out.context = m[2];
|
|
181
|
+
const ts = Date.parse(m[1]);
|
|
182
|
+
if (Number.isFinite(ts))
|
|
183
|
+
out.ts = ts;
|
|
184
|
+
return out;
|
|
185
|
+
}
|
|
186
|
+
m = LEADING_TAG.exec(text);
|
|
187
|
+
if (m)
|
|
188
|
+
return { level: toLevel(m[1] ?? m[2], fallback), message: m[3] };
|
|
189
|
+
m = LEADING_UPPER.exec(text);
|
|
190
|
+
if (m)
|
|
191
|
+
return { level: toLevel(m[1], fallback), message: m[2] };
|
|
192
|
+
return { level: fallback, message: text };
|
|
193
|
+
}
|
|
194
|
+
/** True when a line starts a new entry in one of the known formats. */
|
|
195
|
+
function startsEntry(line) {
|
|
196
|
+
const t = line.replace(ANSI, '');
|
|
197
|
+
return NEST.test(t) || WINSTON.test(t) || (t.startsWith('{') && t.trimEnd().endsWith('}'));
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Splits one write into entries. A write is usually one entry (several lines
|
|
201
|
+
* only for a stack or a printed object); it is split only where a line starts
|
|
202
|
+
* a new entry of a known format.
|
|
203
|
+
*/
|
|
204
|
+
function splitEntries(chunk) {
|
|
205
|
+
const lines = chunk.replace(/\r\n/g, '\n').split('\n');
|
|
206
|
+
const out = [];
|
|
207
|
+
for (const line of lines) {
|
|
208
|
+
if (out.length > 0 && startsEntry(line))
|
|
209
|
+
out.push(line);
|
|
210
|
+
else if (out.length === 0)
|
|
211
|
+
out.push(line);
|
|
212
|
+
else
|
|
213
|
+
out[out.length - 1] += `\n${line}`;
|
|
214
|
+
}
|
|
215
|
+
return out.map((e) => e.replace(/\s+$/, '')).filter((e) => e.replace(ANSI, '').trim() !== '');
|
|
216
|
+
}
|
|
217
|
+
let installed;
|
|
218
|
+
/** The shipper installed by {@link captureLogs}, if any. */
|
|
219
|
+
function getLogShipper() {
|
|
220
|
+
return installed?.shipper;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Copies everything the process writes to stdout and stderr to `shipper`
|
|
224
|
+
* (the terminal output is unchanged). Returns a function that undoes it.
|
|
225
|
+
* Installing again replaces the previous capture.
|
|
226
|
+
*/
|
|
227
|
+
function captureLogs(shipper) {
|
|
228
|
+
installed?.restore();
|
|
229
|
+
// The console method being run, so console.warn lines are warnings even
|
|
230
|
+
// when the format does not say so.
|
|
231
|
+
let methodLevel;
|
|
232
|
+
let inside = false;
|
|
233
|
+
const handle = (chunk, encoding, fallback) => {
|
|
234
|
+
if (inside)
|
|
235
|
+
return;
|
|
236
|
+
inside = true;
|
|
237
|
+
try {
|
|
238
|
+
const text = typeof chunk === 'string' ? chunk : Buffer.isBuffer(chunk) || chunk instanceof Uint8Array ? Buffer.from(chunk).toString(typeof encoding === 'string' ? encoding : 'utf8') : '';
|
|
239
|
+
if (!text)
|
|
240
|
+
return;
|
|
241
|
+
const trace = (0, trace_1.currentTrace)();
|
|
242
|
+
for (const entry of splitEntries(text)) {
|
|
243
|
+
const p = parseLogLine(entry, methodLevel ?? fallback);
|
|
244
|
+
shipper.ship({
|
|
245
|
+
level: p.level,
|
|
246
|
+
message: p.message,
|
|
247
|
+
...(p.context ? { context: p.context } : {}),
|
|
248
|
+
...(p.ts ? { ts: p.ts } : {}),
|
|
249
|
+
...(trace ? { traceId: trace.traceId, spanId: trace.spanId } : {}),
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
catch {
|
|
254
|
+
/* never break the app's output */
|
|
255
|
+
}
|
|
256
|
+
finally {
|
|
257
|
+
inside = false;
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
const wrap = (stream, fallback) => {
|
|
261
|
+
const original = stream.write;
|
|
262
|
+
const patched = function (chunk, encoding, cb) {
|
|
263
|
+
handle(chunk, encoding, fallback);
|
|
264
|
+
return original.call(this, chunk, encoding, cb);
|
|
265
|
+
};
|
|
266
|
+
stream.write = patched;
|
|
267
|
+
return () => {
|
|
268
|
+
if (stream.write === patched)
|
|
269
|
+
stream.write = original;
|
|
270
|
+
};
|
|
271
|
+
};
|
|
272
|
+
const consoleLevels = [
|
|
273
|
+
['log', 'info'],
|
|
274
|
+
['info', 'info'],
|
|
275
|
+
['debug', 'debug'],
|
|
276
|
+
['warn', 'warn'],
|
|
277
|
+
['error', 'error'],
|
|
278
|
+
['trace', 'debug'],
|
|
279
|
+
];
|
|
280
|
+
const restoreConsole = consoleLevels.map(([method, level]) => {
|
|
281
|
+
const original = console[method];
|
|
282
|
+
const patched = function (...args) {
|
|
283
|
+
const prev = methodLevel;
|
|
284
|
+
methodLevel = level;
|
|
285
|
+
try {
|
|
286
|
+
return original.apply(this, args);
|
|
287
|
+
}
|
|
288
|
+
finally {
|
|
289
|
+
methodLevel = prev;
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
console[method] = patched;
|
|
293
|
+
return () => {
|
|
294
|
+
if (console[method] === patched)
|
|
295
|
+
console[method] = original;
|
|
296
|
+
};
|
|
297
|
+
});
|
|
298
|
+
const restoreOut = wrap(process.stdout, 'info');
|
|
299
|
+
const restoreErr = wrap(process.stderr, 'error');
|
|
300
|
+
const restore = () => {
|
|
301
|
+
restoreOut();
|
|
302
|
+
restoreErr();
|
|
303
|
+
restoreConsole.forEach((r) => r());
|
|
304
|
+
if (installed?.restore === restore)
|
|
305
|
+
installed = undefined;
|
|
306
|
+
};
|
|
307
|
+
installed = { shipper, restore };
|
|
308
|
+
return restore;
|
|
309
|
+
}
|
|
310
|
+
//# sourceMappingURL=logs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/core/logs.ts"],"names":[],"mappings":"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"}
|
package/dist/nest/module.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { DynamicModule, InjectionToken, ModuleMetadata, OptionalFactoryDependenc
|
|
|
2
2
|
import { SnugKvBusOptions } from '../core/bus';
|
|
3
3
|
import { CacheOptions } from '../core/cache';
|
|
4
4
|
import { TracerOptions } from '../core/trace';
|
|
5
|
+
import { LogShipperOptions } from '../core/logs';
|
|
5
6
|
import type { ServiceDependency } from '../core/service-map';
|
|
6
7
|
export interface SnugKvModuleOptions extends Omit<SnugKvBusOptions, 'service'> {
|
|
7
8
|
/** Name of this app. Needed for messaging (default consumer group); defaults to `app`. */
|
|
@@ -33,7 +34,15 @@ export interface SnugKvModuleOptions extends Omit<SnugKvBusOptions, 'service'> {
|
|
|
33
34
|
serviceMap?: boolean | {
|
|
34
35
|
dependencies?: ServiceDependency[];
|
|
35
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* Log shipping: everything the app writes to stdout and stderr (Nest's
|
|
39
|
+
* logger, winston, console.log) also goes to the `snug:logs` stream, where
|
|
40
|
+
* the console shows the logs of all services together. Terminal output is
|
|
41
|
+
* unchanged. Off by default.
|
|
42
|
+
*/
|
|
43
|
+
logs?: boolean | SnugLogsOptions;
|
|
36
44
|
}
|
|
45
|
+
export type SnugLogsOptions = Omit<LogShipperOptions, 'service'>;
|
|
37
46
|
export interface SnugTracingOptions extends Omit<TracerOptions, 'service'> {
|
|
38
47
|
/** Make every incoming HTTP request a trace (default true). */
|
|
39
48
|
http?: boolean;
|
package/dist/nest/module.js
CHANGED
|
@@ -18,6 +18,7 @@ const flow_1 = require("../core/queue/flow");
|
|
|
18
18
|
const pubsub_1 = require("../core/pubsub");
|
|
19
19
|
const ratelimit_1 = require("../core/ratelimit");
|
|
20
20
|
const trace_1 = require("../core/trace");
|
|
21
|
+
const logs_1 = require("../core/logs");
|
|
21
22
|
const trace_http_1 = require("../core/trace-http");
|
|
22
23
|
const trace_interceptor_1 = require("./trace-interceptor");
|
|
23
24
|
const runtime_1 = require("./runtime");
|
|
@@ -35,7 +36,7 @@ const sharedProviders = [
|
|
|
35
36
|
{
|
|
36
37
|
provide: bus_1.SnugKvBus,
|
|
37
38
|
useFactory: (options) => {
|
|
38
|
-
const { isGlobal, autoSubscribe, autoProcess, queuePrefix, cache, lockPrefix, rateLimitPrefix, service, tracing, serviceMap, ...bus } = options;
|
|
39
|
+
const { isGlobal, autoSubscribe, autoProcess, queuePrefix, cache, lockPrefix, rateLimitPrefix, service, tracing, serviceMap, logs, ...bus } = options;
|
|
39
40
|
return new bus_1.SnugKvBus({ logger: nestLogger(), service: service ?? 'app', ...bus });
|
|
40
41
|
},
|
|
41
42
|
inject: [tokens_1.SNUG_OPTIONS],
|
|
@@ -87,11 +88,35 @@ const sharedProviders = [
|
|
|
87
88
|
},
|
|
88
89
|
inject: [client_1.SnugKvClient, tokens_1.SNUG_OPTIONS],
|
|
89
90
|
},
|
|
91
|
+
{
|
|
92
|
+
// Null when log shipping is off; inject it with @Optional().
|
|
93
|
+
provide: logs_1.LogShipper,
|
|
94
|
+
useFactory: (client, o) => {
|
|
95
|
+
if (!o.logs)
|
|
96
|
+
return null;
|
|
97
|
+
const out = process.stderr.write.bind(process.stderr);
|
|
98
|
+
let warned = 0;
|
|
99
|
+
const shipper = new logs_1.LogShipper(client, {
|
|
100
|
+
// Written past the capture, so a failing write cannot loop.
|
|
101
|
+
onError: (e) => {
|
|
102
|
+
if (Date.now() - warned > 60_000) {
|
|
103
|
+
warned = Date.now();
|
|
104
|
+
out(`[SnugKV] log lines not written: ${e instanceof Error ? e.message : String(e)}\n`);
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
...(o.logs === true ? {} : o.logs),
|
|
108
|
+
service: o.service ?? 'app',
|
|
109
|
+
});
|
|
110
|
+
(0, logs_1.captureLogs)(shipper);
|
|
111
|
+
return shipper;
|
|
112
|
+
},
|
|
113
|
+
inject: [client_1.SnugKvClient, tokens_1.SNUG_OPTIONS],
|
|
114
|
+
},
|
|
90
115
|
// Passes requests straight through unless tracing (and its `http` option) is on.
|
|
91
116
|
{ provide: core_1.APP_INTERCEPTOR, useClass: trace_interceptor_1.TraceInterceptor },
|
|
92
117
|
runtime_1.SnugKvRuntime,
|
|
93
118
|
];
|
|
94
|
-
const exported = [bus_1.SnugKvBus, client_1.SnugKvClient, pubsub_1.SnugKvSubscriber, cache_1.SnugKvCache, lock_1.SnugKvLocks, ratelimit_1.SnugKvRateLimiter, flow_1.FlowProducer, trace_1.Tracer];
|
|
119
|
+
const exported = [bus_1.SnugKvBus, client_1.SnugKvClient, pubsub_1.SnugKvSubscriber, cache_1.SnugKvCache, lock_1.SnugKvLocks, ratelimit_1.SnugKvRateLimiter, flow_1.FlowProducer, trace_1.Tracer, logs_1.LogShipper];
|
|
95
120
|
let SnugKvModule = SnugKvModule_1 = class SnugKvModule {
|
|
96
121
|
static forRoot(options) {
|
|
97
122
|
return {
|
package/dist/nest/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/nest/module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoI;AACpI,uCAAgE;AAChE,qCAA0D;AAC1D,yCAA0D;AAC1D,2CAA8C;AAC9C,uCAA2C;AAC3C,6CAAkD;AAClD,2CAAkD;AAClD,iDAAsD;AACtD,yCAAiE;AACjE,mDAA0D;AAE1D,2DAAuD;AAEvD,uCAA0C;AAC1C,qCAAwC;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/nest/module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoI;AACpI,uCAAgE;AAChE,qCAA0D;AAC1D,yCAA0D;AAC1D,2CAA8C;AAC9C,uCAA2C;AAC3C,6CAAkD;AAClD,2CAAkD;AAClD,iDAAsD;AACtD,yCAAiE;AACjE,uCAA0E;AAC1E,mDAA0D;AAE1D,2DAAuD;AAEvD,uCAA0C;AAC1C,qCAAwC;AAwDxC,SAAS,UAAU;IACjB,MAAM,CAAC,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACxB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACtB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAe;IAClC;QACE,OAAO,EAAE,eAAS;QAClB,UAAU,EAAE,CAAC,OAA4B,EAAE,EAAE;YAC3C,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;YACtJ,OAAO,IAAI,eAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,EAAE,CAAC,qBAAY,CAAC;KACvB;IACD,EAAE,OAAO,EAAE,qBAAY,EAAE,UAAU,EAAE,CAAC,GAAc,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,eAAS,CAAC,EAAE;IAC1F,EAAE,OAAO,EAAE,yBAAgB,EAAE,UAAU,EAAE,CAAC,GAAc,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,eAAS,CAAC,EAAE;IACpG;QACE,OAAO,EAAE,mBAAW;QACpB,UAAU,EAAE,CAAC,MAAoB,EAAE,CAAsB,EAAE,EAAE,CAAC,IAAI,mBAAW,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC;QAC9F,MAAM,EAAE,CAAC,qBAAY,EAAE,qBAAY,CAAC;KACrC;IACD;QACE,OAAO,EAAE,kBAAW;QACpB,UAAU,EAAE,CAAC,MAAoB,EAAE,CAAsB,EAAE,EAAE,CAAC,IAAI,kBAAW,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;QACnG,MAAM,EAAE,CAAC,qBAAY,EAAE,qBAAY,CAAC;KACrC;IACD;QACE,OAAO,EAAE,6BAAiB;QAC1B,UAAU,EAAE,CAAC,MAAoB,EAAE,CAAsB,EAAE,EAAE,CAAC,IAAI,6BAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,eAAe,CAAC;QAC9G,MAAM,EAAE,CAAC,qBAAY,EAAE,qBAAY,CAAC;KACrC;IACD;QACE,OAAO,EAAE,mBAAY;QACrB,UAAU,EAAE,CAAC,MAAoB,EAAE,CAAsB,EAAE,EAAE,CAAC,IAAI,mBAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACjH,MAAM,EAAE,CAAC,qBAAY,EAAE,qBAAY,CAAC;KACrC;IACD;QACE,wDAAwD;QACxD,OAAO,EAAE,cAAM;QACf,UAAU,EAAE,CAAC,MAAoB,EAAE,CAAsB,EAAE,EAAE;YAC3D,IAAI,CAAC,CAAC,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,EAAE;gBAChC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;wBACjC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACpB,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACrF,CAAC;gBACH,CAAC;gBACD,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxC,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK;aAC5B,CAAC,CAAC;YACH,IAAA,iBAAS,EAAC,MAAM,CAAC,CAAC;YAClB,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK;gBAAE,IAAA,iCAAoB,GAAE,CAAC;YACjF,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,EAAE,CAAC,qBAAY,EAAE,qBAAY,CAAC;KACrC;IACD;QACE,6DAA6D;QAC7D,OAAO,EAAE,iBAAU;QACnB,UAAU,EAAE,CAAC,MAAoB,EAAE,CAAsB,EAAE,EAAE;YAC3D,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACzB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,iBAAU,CAAC,MAAM,EAAE;gBACrC,4DAA4D;gBAC5D,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;wBACjC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACpB,GAAG,CAAC,mCAAmC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACzF,CAAC;gBACH,CAAC;gBACD,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClC,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK;aAC5B,CAAC,CAAC;YACH,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC;YACrB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,EAAE,CAAC,qBAAY,EAAE,qBAAY,CAAC;KACrC;IACD,iFAAiF;IACjF,EAAE,OAAO,EAAE,sBAAe,EAAE,QAAQ,EAAE,oCAAgB,EAAE;IACxD,uBAAa;CACd,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,eAAS,EAAE,qBAAY,EAAE,yBAAgB,EAAE,mBAAW,EAAE,kBAAW,EAAE,6BAAiB,EAAE,mBAAY,EAAE,cAAM,EAAE,iBAAU,CAAC,CAAC;AAGrI,IAAM,YAAY,oBAAlB,MAAM,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,OAA4B;QACzC,OAAO;YACL,MAAM,EAAE,cAAY;YACpB,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;YAChC,OAAO,EAAE,CAAC,sBAAe,CAAC;YAC1B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,qBAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,eAAe,CAAC;YAC7E,OAAO,EAAE,QAAQ;SAClB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAiC;QACnD,OAAO;YACL,MAAM,EAAE,cAAY;YACpB,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;YAChC,OAAO,EAAE,CAAC,sBAAe,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACtD,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,qBAAY,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,GAAG,eAAe,CAAC;YACxH,OAAO,EAAE,QAAQ;SAClB,CAAC;IACJ,CAAC;CACF,CAAA;AApBY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,YAAY,CAoBxB"}
|
package/dist/nest/runtime.js
CHANGED
|
@@ -21,6 +21,7 @@ const util_1 = require("../core/util");
|
|
|
21
21
|
const bus_1 = require("../core/bus");
|
|
22
22
|
const worker_1 = require("../core/queue/worker");
|
|
23
23
|
const trace_1 = require("../core/trace");
|
|
24
|
+
const logs_1 = require("../core/logs");
|
|
24
25
|
const explorer_1 = require("./explorer");
|
|
25
26
|
const tokens_1 = require("./tokens");
|
|
26
27
|
/**
|
|
@@ -139,6 +140,9 @@ let SnugKvRuntime = class SnugKvRuntime {
|
|
|
139
140
|
await tracer.close().catch(() => undefined);
|
|
140
141
|
(0, trace_1.setTracer)(undefined);
|
|
141
142
|
}
|
|
143
|
+
// Last, so the shutdown lines above are shipped too. Capture stays on
|
|
144
|
+
// until the process exits; lines after this are dropped quietly.
|
|
145
|
+
await (0, logs_1.getLogShipper)()?.close().catch(() => undefined);
|
|
142
146
|
await this.bus.close();
|
|
143
147
|
this.subscriptions = [];
|
|
144
148
|
}
|
package/dist/nest/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/nest/runtime.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/nest/runtime.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "snugkv-nest",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "NestJS module and TypeScript client for SnugKV: data types, cache, locks, rate limits, pub/sub, transactions, job queues, flow tracing and a durable stream message bus.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nestjs",
|