logs-gateway 1.5.0 â 2.0.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 +110 -33
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -2,6 +2,70 @@
|
|
|
2
2
|
|
|
3
3
|
A standardized logging gateway for Node.js applications. Flexible multi-transport logging with **console**, **file**, and **unified-logger** outputs; **ENV-first** configuration; **PII/credentials sanitization**; **dual correlation trails** (operation & thread); **OpenTelemetry** context; **YAML/JSON/text** formats; **per-run "Shadow Logging"** for test/debug capture; **scoping** with text filters; **story output** powered by `scopeRecord`; and **troubleshooting integration** with `nx-troubleshooting`.
|
|
4
4
|
|
|
5
|
+
## đ Env-Ready Component (ERC 2.0)
|
|
6
|
+
|
|
7
|
+
This component supports **zero-config initialization** via environment variables and is compliant with the [Env-Ready Component Standard (ERC 2.0)](https://github.com/xeonox/erc-standard).
|
|
8
|
+
|
|
9
|
+
### ERC 2.0 Compliance
|
|
10
|
+
|
|
11
|
+
- â
**Auto-Discovery**: Zero-config initialization from environment variables
|
|
12
|
+
- â
**Complete Documentation**: All environment variables documented (including dependencies)
|
|
13
|
+
- â
**Type Safety**: Automatic type coercion and validation
|
|
14
|
+
- â
**Manifest**: Auto-generated `erc-manifest.json` with all requirements
|
|
15
|
+
- â
**Example File**: Auto-generated `.env.example` with all transitive requirements
|
|
16
|
+
- â
**Dependency Tracking**: Documents both ERC and non-ERC dependencies
|
|
17
|
+
|
|
18
|
+
### Quick Start (Zero-Config Mode)
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# 1. Install the package
|
|
22
|
+
npm install logs-gateway
|
|
23
|
+
|
|
24
|
+
# 2. Set environment variables (replace MY_APP with your prefix)
|
|
25
|
+
export MY_APP_LOG_TO_CONSOLE=true
|
|
26
|
+
export MY_APP_LOG_LEVEL=info
|
|
27
|
+
export MY_APP_LOG_FORMAT=json
|
|
28
|
+
|
|
29
|
+
# 3. Use with zero config!
|
|
30
|
+
import { createLogger } from 'logs-gateway';
|
|
31
|
+
const logger = createLogger(
|
|
32
|
+
{ packageName: 'MY_APP', envPrefix: 'MY_APP' }
|
|
33
|
+
); // Auto-discovers from process.env
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Advanced Mode (Programmatic Configuration)
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { createLogger } from 'logs-gateway';
|
|
40
|
+
|
|
41
|
+
const logger = createLogger(
|
|
42
|
+
{ packageName: 'MY_APP', envPrefix: 'MY_APP' },
|
|
43
|
+
{
|
|
44
|
+
logToFile: true,
|
|
45
|
+
logFilePath: '/var/log/myapp.log',
|
|
46
|
+
logLevel: 'info'
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Environment Variables
|
|
52
|
+
|
|
53
|
+
**Note**: This component uses **dynamic environment variable prefixes** based on `packageConfig.envPrefix`. Replace `{PREFIX}` with your actual prefix (e.g., `MY_APP`, `API_SERVICE`).
|
|
54
|
+
|
|
55
|
+
See `.env.example` for the complete list of required and optional variables with descriptions. Generate it by running:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npm run generate-erc
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Dependencies
|
|
62
|
+
|
|
63
|
+
- â
**nx-config2** (ERC 2.0) - Configuration engine
|
|
64
|
+
- âšī¸ **@x-developer/unified-logger** (non-ERC) - Requirements manually documented
|
|
65
|
+
- âšī¸ **nx-troubleshooting** (non-ERC, optional) - Requirements manually documented
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
5
69
|
## Features
|
|
6
70
|
|
|
7
71
|
* â
Console output (default)
|
|
@@ -260,62 +324,75 @@ const logger = createLogger(
|
|
|
260
324
|
|
|
261
325
|
### Via Environment Variables
|
|
262
326
|
|
|
327
|
+
**Note**: Environment variable names use a **dynamic prefix** based on `packageConfig.envPrefix`. Replace `{PREFIX}` in the examples below with your actual prefix (e.g., `MY_APP`, `API_SERVICE`).
|
|
328
|
+
|
|
263
329
|
```bash
|
|
264
330
|
# Console & file
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
331
|
+
{PREFIX}_LOG_TO_CONSOLE=true|false
|
|
332
|
+
{PREFIX}_LOG_TO_FILE=true|false
|
|
333
|
+
{PREFIX}_LOG_FILE=/path/to/log
|
|
268
334
|
|
|
269
335
|
# Unified-logger
|
|
270
|
-
|
|
336
|
+
{PREFIX}_LOG_TO_UNIFIED=true|false
|
|
271
337
|
|
|
272
338
|
# Level & format
|
|
273
|
-
|
|
274
|
-
|
|
339
|
+
{PREFIX}_LOG_LEVEL=verbose|debug|info|warn|error
|
|
340
|
+
{PREFIX}_LOG_FORMAT=text|json|yaml
|
|
275
341
|
|
|
276
342
|
# Debug namespace â enables verbose+debug for that namespace
|
|
277
343
|
DEBUG=my-pkg,other-*
|
|
278
344
|
|
|
279
345
|
# Sanitization (subset shown)
|
|
280
|
-
|
|
281
|
-
|
|
346
|
+
{PREFIX}_SANITIZE_ENABLED=true|false
|
|
347
|
+
{PREFIX}_SANITIZE_KEYS_DENYLIST=authorization,token,secret,api_key,password
|
|
282
348
|
|
|
283
349
|
# Trails/tracing
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
350
|
+
{PREFIX}_TRACE_OTEL=true|false
|
|
351
|
+
{PREFIX}_TRAILS_DEPTH=true|false
|
|
352
|
+
{PREFIX}_TRAILS_THREAD=true|false
|
|
353
|
+
{PREFIX}_TRAILS_INJECT=true|false
|
|
354
|
+
{PREFIX}_TRAILS_EXTRACT=true|false
|
|
289
355
|
|
|
290
356
|
# Shadow Logging
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
357
|
+
{PREFIX}_SHADOW_ENABLED=true|false
|
|
358
|
+
{PREFIX}_SHADOW_FORMAT=json|yaml
|
|
359
|
+
{PREFIX}_SHADOW_DIR=/var/log/myapp/shadow
|
|
360
|
+
{PREFIX}_SHADOW_TTL_MS=86400000
|
|
361
|
+
{PREFIX}_SHADOW_FORCE_VERBOSE=true|false
|
|
362
|
+
{PREFIX}_SHADOW_RESPECT_ROUTING=true|false
|
|
363
|
+
{PREFIX}_SHADOW_INCLUDE_RAW=false
|
|
364
|
+
{PREFIX}_SHADOW_BUFFER_ENTRIES=0
|
|
365
|
+
{PREFIX}_SHADOW_BUFFER_AGE_MS=0
|
|
300
366
|
|
|
301
367
|
# Scoping
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
368
|
+
{PREFIX}_SCOPING_ENABLED=true|false
|
|
369
|
+
{PREFIX}_SCOPING_ERROR_ENABLED=true|false
|
|
370
|
+
{PREFIX}_SCOPING_ERROR_WINDOW_MS_BEFORE=30000
|
|
371
|
+
{PREFIX}_SCOPING_ERROR_WINDOW_MS_AFTER=30000
|
|
372
|
+
{PREFIX}_SCOPING_BUFFER_ENTRIES=5000
|
|
373
|
+
{PREFIX}_SCOPING_BUFFER_AGE_MS=300000
|
|
374
|
+
{PREFIX}_SCOPING_BUFFER_PREFER_SHADOW=true|false
|
|
309
375
|
|
|
310
376
|
# Troubleshooting
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
377
|
+
{PREFIX}_TROUBLESHOOTING_ENABLED=true|false
|
|
378
|
+
{PREFIX}_TROUBLESHOOTING_NARRATIVES_PATH=./metadata/troubleshooting.json
|
|
379
|
+
{PREFIX}_TROUBLESHOOTING_OUTPUT_FORMATS=markdown,json
|
|
380
|
+
{PREFIX}_TROUBLESHOOTING_OUTPUT_EMIT_AS_LOG_ENTRY=true|false
|
|
381
|
+
|
|
382
|
+
# Unified-logger dependencies (non-ERC, manually documented)
|
|
383
|
+
# Required when unified-logger papertrail transport is enabled:
|
|
384
|
+
PAPERTRAIL_HOST=logs.papertrailapp.com
|
|
385
|
+
PAPERTRAIL_PORT=12345
|
|
386
|
+
|
|
387
|
+
# Required when unified-logger udpRelay transport is enabled:
|
|
388
|
+
UDP_RELAY_HOST=127.0.0.1
|
|
389
|
+
UDP_RELAY_PORT=514
|
|
315
390
|
```
|
|
316
391
|
|
|
317
392
|
> **Default min level:** `info`.
|
|
318
393
|
> **`DEBUG=`**: enables **both** `verbose` and `debug` for matching namespaces.
|
|
394
|
+
>
|
|
395
|
+
> **ERC 2.0 Note**: Generate a complete `.env.example` file with all variables by running `npm run generate-erc`.
|
|
319
396
|
|
|
320
397
|
---
|
|
321
398
|
|
package/dist/index.d.ts
CHANGED
|
@@ -18,6 +18,12 @@ import type { LoggerPackageConfig, LoggingConfig } from './types';
|
|
|
18
18
|
* ```typescript
|
|
19
19
|
* import { createLogger } from 'logs-gateway';
|
|
20
20
|
*
|
|
21
|
+
* // Zero-config mode (ERC 2.0): Auto-discovers from environment variables
|
|
22
|
+
* const logger = createLogger(
|
|
23
|
+
* { packageName: 'MY_APP', envPrefix: 'MY_APP', debugNamespace: 'my-app' }
|
|
24
|
+
* );
|
|
25
|
+
*
|
|
26
|
+
* // Advanced mode: Explicit configuration
|
|
21
27
|
* const logger = createLogger(
|
|
22
28
|
* { packageName: 'MY_APP', envPrefix: 'MY_APP', debugNamespace: 'my-app' },
|
|
23
29
|
* { logToFile: true, logFilePath: '/var/log/myapp.log' }
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,QAAQ,EACR,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAoE,MAAM,SAAS,CAAC;AAEpI
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,QAAQ,EACR,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAoE,MAAM,SAAS,CAAC;AAEpI;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,mBAAmB,EAClC,UAAU,CAAC,EAAE,aAAa,GACzB,WAAW,CAgIb;;;;;AAGD,wBAGE"}
|
package/dist/index.js
CHANGED
|
@@ -26,6 +26,12 @@ const app_info_1 = require("./app-info");
|
|
|
26
26
|
* ```typescript
|
|
27
27
|
* import { createLogger } from 'logs-gateway';
|
|
28
28
|
*
|
|
29
|
+
* // Zero-config mode (ERC 2.0): Auto-discovers from environment variables
|
|
30
|
+
* const logger = createLogger(
|
|
31
|
+
* { packageName: 'MY_APP', envPrefix: 'MY_APP', debugNamespace: 'my-app' }
|
|
32
|
+
* );
|
|
33
|
+
*
|
|
34
|
+
* // Advanced mode: Explicit configuration
|
|
29
35
|
* const logger = createLogger(
|
|
30
36
|
* { packageName: 'MY_APP', envPrefix: 'MY_APP', debugNamespace: 'my-app' },
|
|
31
37
|
* { logToFile: true, logFilePath: '/var/log/myapp.log' }
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAuDH,oCAmIC;AAtKD,kCAAkC;AAClC,mCAAuC;AAA9B,qGAAA,WAAW,OAAA;AAEpB,8CAA8C;AAC9C,qCAAuC;AACvC,2EAAsE;AACtE,gEAAmE;AACnE,yCAA2C;AAG3C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,YAAY,CAC1B,aAAkC,EAClC,UAA0B;IAE1B,sCAAsC;IACtC,MAAM,QAAQ,GAQV;QACF,YAAY,EAAE,UAAU,EAAE,YAAY,IAAI,IAAI;QAC9C,SAAS,EAAE,UAAU,EAAE,SAAS,IAAI,KAAK;QACzC,WAAW,EAAE,UAAU,EAAE,WAAW,IAAI,EAAE;QAC1C,QAAQ,EAAE,UAAU,EAAE,QAAQ,IAAI,MAAM;QACxC,SAAS,EAAE,UAAU,EAAE,SAAS,IAAI,MAAM;QAC1C,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,IAAI,KAAK;QAC7D,aAAa,EAAE,UAAU,EAAE,aAAa,IAAI,EAAE;QAC9C,aAAa,EAAE,UAAU,EAAE,aAAa,IAAI,aAAa;QACzD,YAAY,EAAE,UAAU,EAAE,YAAY,IAAI,EAAE;QAC5C,YAAY,EAAE,UAAU,EAAE,YAAY;QACtC,UAAU,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS;QAC/C,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,SAAS;QACzC,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,SAAS;QACvC,WAAW,EAAE,UAAU,EAAE,WAAW,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;QAC1D,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,SAAS;KACxC,CAAC;IAEF,MAAM,KAAK,GAAQ,EAAE,CAAC;IAEtB,wEAAwE;IACxE,MAAM,OAAO,GAAG,IAAA,wBAAa,GAAE,CAAC;IAEhC,mCAAmC;IACnC,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC1B,KAAK,CAAC,OAAO,GAAG,CAAC,KAAe,EAAE,GAAW,EAAE,IAAc,EAAE,EAAE;YAC/D,IAAI,QAAQ,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBAClC,qEAAqE;gBACrE,MAAM,OAAO,GAAQ;oBACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,aAAa,CAAC,WAAW;oBAClC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;oBAC1B,OAAO,EAAE,GAAG;oBACZ,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;oBACpC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC9C,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;iBACxD,CAAC;gBACF,iDAAiD;gBACjD,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;oBACnB,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC/B,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,QAAQ,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBACzC,kDAAkD;gBAClD,MAAM,QAAQ,GAAG;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,aAAa,CAAC,WAAW;oBAClC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;oBAC1B,OAAO,EAAE,GAAG;oBACZ,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,QAAQ,CAAC,aAAa,IAAI,aAAa;oBAC/D,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBAC3B,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC9C,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;oBACvD,2CAA2C;oBAC3C,GAAG,CAAC,IAAI,EAAE,aAAa,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjE,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;oBACtC,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACnD,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,IAAA,qCAAoB,EAAC,QAAQ,CAAC,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,sDAAsD;gBACtD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,aAAa,CAAC,WAAW,MAAM,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC;YACrG,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,GAAG,CAAC,KAAe,EAAE,GAAW,EAAE,IAAc,EAAE,EAAE;YAC5D,IAAI,CAAC;gBACH,IAAI,SAAiB,CAAC;gBAEtB,IAAI,QAAQ,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;oBAClC,kDAAkD;oBAClD,MAAM,QAAQ,GAAG;wBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,OAAO,EAAE,aAAa,CAAC,WAAW;wBAClC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;wBAC1B,OAAO,EAAE,GAAG;wBACZ,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,QAAQ,CAAC,aAAa,IAAI,aAAa;wBAC/D,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;wBAC3B,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;wBAC9C,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;wBACvD,2CAA2C;wBAC3C,GAAG,CAAC,IAAI,EAAE,aAAa,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;wBACjE,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;wBACtC,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;qBACnD,CAAC;oBACF,SAAS,GAAG,IAAA,qCAAoB,EAAC,QAAQ,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,0CAA0C;oBAC1C,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACpC,MAAM,GAAG,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,SAAS,GAAG,IAAI,EAAE,MAAM,aAAa,CAAC,WAAW,MAAM,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;gBACpG,CAAC;gBAED,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;YAC/E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,kBAAkB,aAAa,CAAC,WAAW,gCAAgC,EAAE,GAAG,CAAC,CAAC;YAClG,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QACjC,KAAK,CAAC,OAAO,GAAG,IAAI,2CAAmB,CAAC,QAAQ,CAAC,aAAc,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,IAAI,oBAAW,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,iCAAiC;AACjC,kBAAe;IACb,YAAY;IACZ,WAAW,EAAX,oBAAW;CACZ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "logs-gateway",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Standardized logging gateway for Node.js with PII sanitization, correlation trails, Shadow Logging for test/debug capture, scoping with text filters, story output, troubleshooting integration, and multi-format output (JSON/YAML/text)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"dev": "tsc --watch",
|
|
10
10
|
"clean": "rimraf dist",
|
|
11
11
|
"test": "vitest",
|
|
12
|
-
"prepublishOnly": "npm run clean && npm run build"
|
|
12
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
13
|
+
"generate-erc": "tsx scripts/generate-erc-manifest.ts"
|
|
13
14
|
},
|
|
14
15
|
"keywords": [
|
|
15
16
|
"logging",
|
|
@@ -57,7 +58,9 @@
|
|
|
57
58
|
"consola": "^3.4.2",
|
|
58
59
|
"fast-redact": "^3.5.0",
|
|
59
60
|
"js-yaml": "^4.1.0",
|
|
61
|
+
"micro-logs": "^1.0.0",
|
|
60
62
|
"nanoid": "^5.1.6",
|
|
63
|
+
"nx-config2": "^3.5.0",
|
|
61
64
|
"pino": "^10.1.0",
|
|
62
65
|
"pino-http": "^11.0.0",
|
|
63
66
|
"pino-pretty": "^13.1.2",
|
|
@@ -74,6 +77,7 @@
|
|
|
74
77
|
"@types/pino": "^7.0.4",
|
|
75
78
|
"@types/validator": "^13.15.3",
|
|
76
79
|
"rimraf": "^6.0.1",
|
|
80
|
+
"tsx": "^4.7.0",
|
|
77
81
|
"typescript": "^5.0.0",
|
|
78
82
|
"vitest": "^4.0.3"
|
|
79
83
|
},
|