@aryan-vashishth/advanced-logger 0.2.0 → 0.3.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/ARCHITECTURE.md +32 -12
- package/CHANGELOG.md +73 -0
- package/README.md +44 -9
- package/dist/config.d.ts +21 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +36 -1
- package/dist/config.js.map +1 -1
- package/dist/configFile.d.ts +9 -0
- package/dist/configFile.d.ts.map +1 -1
- package/dist/configFile.js +32 -9
- package/dist/configFile.js.map +1 -1
- package/dist/core.d.ts +5 -2
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +12 -4
- package/dist/core.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/playwright.js +1 -1
- package/dist/playwright.js.map +1 -1
- package/dist/sinks.d.ts +6 -0
- package/dist/sinks.d.ts.map +1 -1
- package/dist/sinks.js +63 -12
- package/dist/sinks.js.map +1 -1
- package/package.json +3 -2
package/ARCHITECTURE.md
CHANGED
|
@@ -32,7 +32,8 @@ test/
|
|
|
32
32
|
colors.test.ts fg/bg/ansi/callerColor matrix
|
|
33
33
|
config-file.test.ts discovery, forms, precedence, failures
|
|
34
34
|
truncate.test.ts infoLogsCharLimit + its hint
|
|
35
|
-
retention.test.ts maxLogFiles
|
|
35
|
+
retention.test.ts maxRuns, maxLogFiles, recent/missing-run-id guards
|
|
36
|
+
separable.test.ts consoleWorker, consoleTest, missing initRun() warning, configure() validation
|
|
36
37
|
multi-worker.test.ts spawns real Playwright with 2 workers (fixtures/multi-worker/)
|
|
37
38
|
*.spec.ts, playwright*.config.ts, global-setup.ts Playwright e2e/demo specs
|
|
38
39
|
dist/ tsc output (CommonJS, ES2022), gitignored, what npm publishes
|
|
@@ -123,7 +124,8 @@ interface LogEvent {
|
|
|
123
124
|
caller: string; // "Callee.method ← Caller.method", plain text
|
|
124
125
|
chain: string; // in-project call chain, leaf first, plain text
|
|
125
126
|
worker: string; // 'w<TEST_WORKER_INDEX>' or 'main'
|
|
126
|
-
test?: string; // set by the Playwright fixture
|
|
127
|
+
test?: string; // full title path, set by the Playwright fixture (jsonl)
|
|
128
|
+
testTitle?: string; // the test's own title (consoleTest prefix)
|
|
127
129
|
}
|
|
128
130
|
interface Sink { accepts(level, cfg): boolean; write(ev, cfg): void }
|
|
129
131
|
```
|
|
@@ -141,8 +143,11 @@ Rendered line shape: `<ts> │ <label> │ <message line>` where `│` is `cfg.s
|
|
|
141
143
|
| `fg` | bool, `true` | Foreground colors (intent color; level color on BASE lines; bold) |
|
|
142
144
|
| `bg` | bool, `true` | The theme background (one constant, `BG_BLACK`, for all levels) |
|
|
143
145
|
| `callerColor` | bool, `false` | Color the caller suffix separately (console, debug level). Independent of fg/bg |
|
|
144
|
-
| `infoLogsCharLimit` | number\|null, `null` | INFO truncation limit (§
|
|
145
|
-
| `
|
|
146
|
+
| `infoLogsCharLimit` | number\|null, `null` | INFO truncation limit (§11). null/0 = off |
|
|
147
|
+
| `maxRuns` | number\|null, `null` | Retention per trace kind, in whole runs (§12). null/0 = off |
|
|
148
|
+
| `maxLogFiles` | number\|null, `null` | Retention per trace kind, in files (§12). null/0 = off |
|
|
149
|
+
| `consoleWorker` | bool, `false` | Console lines prefixed `w<N> │ ` (§9) |
|
|
150
|
+
| `consoleTest` | bool, `false` | Console lines prefixed with the test title, max 40 chars (§9) |
|
|
146
151
|
| `tsFormat` | string\|fn, `yyyy-MM-dd HH:mm:ss.SSS` | Java-style pattern or `(Date)=>string` |
|
|
147
152
|
| `segmentDivider` | string, `' │ '` | Column separator |
|
|
148
153
|
| `tableCellLimit`, `tableCellLimitEnabled` | 40, false | Truncate table/row cells |
|
|
@@ -164,7 +169,7 @@ Rendered line shape: `<ts> │ <label> │ <message line>` where `│` is `cfg.s
|
|
|
164
169
|
3. **Environment variables**: `applyEnv()`.
|
|
165
170
|
4. **`configure()` calls** in code mutate the live object afterwards, so they always win.
|
|
166
171
|
|
|
167
|
-
Environment variables: `VOID_LOG_LEVEL`, `VOID_LOG_DIR`, `VOID_LOG_ANSI`, `VOID_LOG_FG`, `VOID_LOG_BG`, `VOID_LOG_JSONL`, `VOID_LOG_INFO_LOGS_CHAR_LIMIT`, `VOID_LOG_MAX_FILES`, `VOID_LOG_CONFIG`, `VOID_RUN_ID`, `VOID_RUN_DATE`, plus `NO_COLOR` / `FORCE_COLOR`. Booleans: `1/true/yes/on` true, anything else non-empty false. An invalid level or non-numeric limit is ignored (so it cannot override a lower layer). `NO_COLOR`/`FORCE_COLOR` count as env-level (they beat `ansi` in a file); terminal auto-detection counts as default-level (the file beats it). See `explicitAnsi()` vs `heuristicAnsi()`.
|
|
172
|
+
Environment variables: `VOID_LOG_LEVEL`, `VOID_LOG_DIR`, `VOID_LOG_ANSI`, `VOID_LOG_FG`, `VOID_LOG_BG`, `VOID_LOG_JSONL`, `VOID_LOG_INFO_LOGS_CHAR_LIMIT`, `VOID_LOG_MAX_RUNS`, `VOID_LOG_MAX_FILES`, `VOID_LOG_CONFIG`, `VOID_RUN_ID`, `VOID_RUN_DATE`, plus `NO_COLOR` / `FORCE_COLOR`. Booleans: `1/true/yes/on` true, anything else non-empty false. An invalid level or non-numeric limit is ignored (so it cannot override a lower layer). `NO_COLOR`/`FORCE_COLOR` count as env-level (they beat `ansi` in a file); terminal auto-detection counts as default-level (the file beats it). See `explicitAnsi()` vs `heuristicAnsi()`.
|
|
168
173
|
|
|
169
174
|
### 6.3 Lazy, per-process state
|
|
170
175
|
|
|
@@ -173,6 +178,7 @@ Environment variables: `VOID_LOG_LEVEL`, `VOID_LOG_DIR`, `VOID_LOG_ANSI`, `VOID_
|
|
|
173
178
|
- `config()` returns `CURRENT ?? build()`. The first call in a process builds the config (including reading the config file). Every process, including each Playwright worker, does this independently.
|
|
174
179
|
- `build()` sets `CURRENT = cfg` early as a **re-entrancy guard**: a config file that imports this package and touches `config()` while loading sees the defaults instead of recursing. On failure it sets `CURRENT = undefined` and rethrows, so every later call throws again (no silent fallback to defaults).
|
|
175
180
|
- `configure(patch | fn)`, the `enable*/disable*` mutators, and every internal reader go through `config()`, so they trigger the load first. Therefore a `configure()` call made before any log call still sits above the file.
|
|
181
|
+
- `configure(patch)` runs the patch through `checkPatch` (the config file's validator, §7) with the source label `configure()`. Unlike a file, it never throws: each problem is written to stderr once per process (`WARNED`, cleared by `resetConfig()`) and that key is left out; the rest applies. A non-object patch warns and is ignored. The callback form is not checked.
|
|
176
182
|
- `resetConfig()` clears `CURRENT`, forgets the cached config file (`forgetConfigFile()` deletes it from `require.cache`), and rebuilds. Used by tests.
|
|
177
183
|
- A mutable `LIMIT_SOURCE` records which layer set `infoLogsCharLimit` (`default|file|env|code`) for the truncation hint.
|
|
178
184
|
|
|
@@ -184,7 +190,7 @@ Environment variables: `VOID_LOG_LEVEL`, `VOID_LOG_DIR`, `VOID_LOG_ANSI`, `VOID_
|
|
|
184
190
|
- `VOID_LOG_CONFIG` overrides the path (resolved against cwd). An explicit path that does not exist **throws** (deliberate: a typo should not be silent).
|
|
185
191
|
- Loaded with a lazy `require(file)` inside `loadConfigFile`. Under Playwright, its TypeScript hook transpiles `.ts`; under plain Node, type stripping or CJS handles it. No transpiler dependency. `unwrapDefault` handles `__esModule` interop (`export default`), `module.exports =`, and JSON.
|
|
186
192
|
- Forms: a plain object (`LogConfigPatch`) or `(config: LogConfig) => LogConfigPatch`. The function receives a **clone** of the defaults (`cloneConfig`), so it cannot mutate live state. `defineConfig()` is an identity helper for typing.
|
|
187
|
-
- Validation (
|
|
193
|
+
- Validation (table `KEYS`): `checkPatch(value, where)` returns the clean patch plus one message per problem (unknown option name, such as a typo like `levl`; wrong type; bad `files` sub-key), and drops `undefined` values. `validatePatch` throws the first problem for a file; `configure()` warns about each one instead (§6.3). File error messages contain the absolute file path; load failures (`fail()`) wrap the original in `cause`.
|
|
188
194
|
- Loaded once per process (Node's require cache plus `CURRENT`). `loadedConfigFile()` exposes the path for messages.
|
|
189
195
|
|
|
190
196
|
## 8. Caller and chain resolution (`caller.ts`)
|
|
@@ -220,6 +226,7 @@ If the chain comes out empty, `projectRoots` does not cover the test code; set `
|
|
|
220
226
|
Files: `<logDir>/<runDate>/<kind>/<kind>-<runId>-<worker>.log` (`traceFilePath`). Writes are **synchronous** (`fs.writeSync` on cached fds in `FD_CACHE`), one file per worker, so parallel workers never interleave and a crash loses nothing. Every file line is prefixed `w<N> │ ` and passes through `stripAnsi`, so **plain-text sinks never contain escape codes** regardless of color flags. `closeAllFiles()` closes fds (and clears prune bookkeeping).
|
|
221
227
|
|
|
222
228
|
Console rendering (`consoleSink`):
|
|
229
|
+
- Opt-in prefix (`consolePrefix`), placed before the timestamp and inside the color block: `w<N> │ ` when `consoleWorker`, then `<testTitle> │ ` when `consoleTest` and a test is running (line breaks flattened, cut to `TEST_TAG_MAX` = 40 chars with `...`). The worker part uses a literal ` │ `, like the file prefix, not `segmentDivider`. The GitHub annotation text carries the same prefix. File sinks do not use it: they are already per worker, and tests are bracketed by `TEST START`/`TEST END`.
|
|
223
230
|
- `ansi` off: plain.
|
|
224
231
|
- `ansi` on: `wrap(s) = ev.color ? ev.color + s + RESET : s`. When `fg` and `bg` are both off, `ev.color` is `''` and the body is bare (no stray reset).
|
|
225
232
|
- `callerColor` on and a caller exists: body wrapped, then `div + CALLER_FG + caller + RESET`. Not gated by `fg`/`bg`; only `ansi:false` silences it.
|
|
@@ -249,18 +256,27 @@ Then three events are emitted via `emit()`:
|
|
|
249
256
|
|
|
250
257
|
`infoLimitHint()` (in `config.ts`) tells the reader what to edit, depending on `LIMIT_SOURCE`: the config file's absolute path, the env var name, or the `configure()` call.
|
|
251
258
|
|
|
252
|
-
## 12. Log file retention (`maxLogFiles`, in `sinks.ts`)
|
|
259
|
+
## 12. Log file retention (`maxRuns`, `maxLogFiles`, in `sinks.ts`)
|
|
253
260
|
|
|
254
|
-
`pruneOnce(cfg, kind)` runs after the first write of each kind in a process (guarded by `PRUNED`). It lists `<logDir>/*/<kind>/<kind>-*.(log|jsonl)
|
|
261
|
+
`pruneOnce(cfg, kind)` runs after the first write of each kind in a process (guarded by `PRUNED`). It lists `<logDir>/*/<kind>/<kind>-*.(log|jsonl)` across all date folders and groups files by run id, parsed from `<kind>-<runId>-<main|wN>.<ext>` (a name without a worker suffix counts as its own run). A run's age is its newest file's mtime.
|
|
262
|
+
|
|
263
|
+
- `maxLogFiles`: of the files outside the current run, the newest `maxLogFiles - currentRunFiles` are kept.
|
|
264
|
+
- `maxRuns`: of the runs other than the current one, the newest `maxRuns - 1` are kept; older runs are marked whole.
|
|
265
|
+
- A file goes if either limit marks it. Then two guards apply: files whose name contains the current run id are never marked (parallel workers share it), and a run whose newest file is younger than `RECENT_RUN_MS` (1 hour) is never deleted, because another runner or CI shard may still be writing it. Neither limit is a hard cap.
|
|
266
|
+
- Skipped entirely when `runIdMissing()` (§13): without a shared run id, each worker's "current run" is its own pid-based id, and its siblings' live files would look like an older run.
|
|
267
|
+
|
|
268
|
+
Emptied kind and date folders are removed. Best effort; all errors swallowed.
|
|
255
269
|
|
|
256
270
|
## 13. Run identity and workers (`config.ts`)
|
|
257
271
|
|
|
258
272
|
- `initRun()` (call from `globalSetup`) sets `process.env.VOID_RUN_ID` and `VOID_RUN_DATE` if absent, so every worker (which inherits env) shares one run id. `getRun()` falls back to a per-process id if unset.
|
|
273
|
+
- `runIdMissing()` is true in a Playwright worker (`TEST_WORKER_INDEX` set) without `VOID_RUN_ID`, meaning `initRun()` was never called in the runner. Then `traceFilePath` writes one stderr warning per process (`RUN_ID_WARNED`, reset by `closeAllFiles()`) and retention is off (§12). A worker cannot fix this itself: env it sets is not seen by its siblings.
|
|
274
|
+
- Only process-based workers are supported. A `worker_threads` thread starts with a copy of its parent's `process.env`, so it gets the same `workerLabel()` and run id, and appends to the same files through its own fds, with no way to tell its lines apart.
|
|
259
275
|
- `workerLabel()` is `w<TEST_WORKER_INDEX>` under Playwright, else `main`. It appears in file names, line prefixes and events.
|
|
260
276
|
|
|
261
277
|
## 14. Playwright integration (`playwright.ts`)
|
|
262
278
|
|
|
263
|
-
`test = base.extend({ voidLog: [fn, { auto: true }] })`: an auto fixture active for every test. Per test it: sets the test context (`setTestContext
|
|
279
|
+
`test = base.extend({ voidLog: [fn, { auto: true }] })`: an auto fixture active for every test. Per test it: sets the test context (`setTestContext(titlePath.join(' > '), title)`: the path tags JSONL records, the title feeds `consoleTest`), starts a `captureLogs()` buffer, logs `TEST START`, runs the test, then logs `TEST END | status | ms` (`error.failed` on failure, `info.success` otherwise), and attaches the captured text as `void-log` per `cfg.attach` (`on-failure` default). It also re-exports `expect` and `initRun`. Tests import `test`/`expect` from this entry instead of `@playwright/test`.
|
|
264
280
|
|
|
265
281
|
## 15. Extension points
|
|
266
282
|
|
|
@@ -282,10 +298,13 @@ Then three events are emitted via `emit()`:
|
|
|
282
298
|
9. The default theme/`fg`/`bg` defaults must keep 0.1.0 output byte-identical.
|
|
283
299
|
10. Config is built lazily at first use (not at import). An env var changed between import and the first log call is honored; this is the one intentional difference from 0.1.0.
|
|
284
300
|
11. In regexes written inside template literals, escape backslashes (`\\.`); a past bug came from exactly this.
|
|
301
|
+
12. Retention must never run in a worker without a shared run id (`runIdMissing()`), and must never delete the current run or a run touched within `RECENT_RUN_MS`.
|
|
302
|
+
13. `configure()` never throws on bad input; it warns and skips. Only a config file fails loudly.
|
|
303
|
+
14. New output options that change line format default to off, so existing console and file output stays byte-identical.
|
|
285
304
|
|
|
286
305
|
## 17. Differences from the Java logger
|
|
287
306
|
|
|
288
|
-
Dropped: custom themes, `setTheme`, width/arrow settings, file rotation and gzip archives. Changed: caller frames are excluded by path rather than method-name prefix. Added: secret redaction, JSONL sink, custom sinks, in-memory capture, Playwright fixture with attachment, per-worker files, config file, `fg`/`bg`, INFO truncation, file retention.
|
|
307
|
+
Dropped: custom themes, `setTheme`, width/arrow settings, file rotation and gzip archives. Changed: caller frames are excluded by path rather than method-name prefix. Added: secret redaction, JSONL sink, custom sinks, in-memory capture, Playwright fixture with attachment, per-worker files, config file, `fg`/`bg`, INFO truncation, file and run retention, console worker/test prefixes.
|
|
289
308
|
|
|
290
309
|
## 18. Testing map
|
|
291
310
|
|
|
@@ -295,8 +314,9 @@ Dropped: custom themes, `setTheme`, width/arrow settings, file rotation and gzip
|
|
|
295
314
|
| fg/bg/ansi/callerColor combinations across all actions, env parsing | `colors.test.ts` |
|
|
296
315
|
| Discovery order, forms, precedence, `VOID_LOG_CONFIG`, loud failures | `config-file.test.ts` |
|
|
297
316
|
| Truncation text, WARN/DEBUG lines, hint by source | `truncate.test.ts` |
|
|
298
|
-
| Retention
|
|
299
|
-
|
|
|
317
|
+
| Retention by files and runs, protection of current and recent runs, missing run id, foreign files | `retention.test.ts` |
|
|
318
|
+
| consoleWorker/consoleTest prefixes, missing-run-id warning, `configure()` validation | `separable.test.ts` |
|
|
319
|
+
| Real Playwright, 2 workers, `.ts` config, `globalSetup` isolation, console prefixes, shared vs split run id | `multi-worker.test.ts` + `fixtures/multi-worker/` |
|
|
300
320
|
| Visual/e2e demos | `*.spec.ts` via `test/playwright.config.ts` |
|
|
301
321
|
|
|
302
322
|
Tests use `resetConfig()` plus `configure({ logDir: tmp, ansi: false, tsFormat: () => 'TS' })` for deterministic output, and spy on `process.stdout.write`. Config-file tests `chdir` into a temp dir so no stray `logger.config.*` leaks in.
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@aryan-vashishth/advanced-logger`. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project uses [Semantic Versioning](https://semver.org/). While the version is below 1.0.0, a minor release may add options but keeps existing defaults and output unchanged unless noted.
|
|
4
|
+
|
|
5
|
+
## [0.3.0] - 2026-10-14
|
|
6
|
+
|
|
7
|
+
Makes mixed logs from parallel runs separable, and stops a missing setup step from scattering or deleting logs. Console and file output are unchanged unless you turn on the new options.
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- `maxRuns` option (env `VOID_LOG_MAX_RUNS`): keeps the newest N runs per trace kind, current run included, and deletes older runs whole. A run's age is its newest file's modification time.
|
|
12
|
+
- `consoleWorker` option (default `false`): prefixes console lines with the worker, `w<N> │ ` (or `main │ ` outside Playwright), the same prefix trace-file lines already have.
|
|
13
|
+
- `consoleTest` option (default `false`): prefixes console lines with the running test's title, cut to 40 characters. Needs the Playwright fixture.
|
|
14
|
+
- A one-time stderr warning in a Playwright worker that has no `VOID_RUN_ID`, meaning `initRun()` was never called in `globalSetup`.
|
|
15
|
+
- `runIdMissing()` export, true in that situation.
|
|
16
|
+
- `setTestContext(test, title?)` takes an optional short title for the console prefix. The Playwright fixture passes the test's own title.
|
|
17
|
+
- `LogEvent.testTitle` for custom sinks.
|
|
18
|
+
- README sections on redaction scope (only top-level structured keys are masked; free text and nested objects are not) and on `worker_threads` (not supported).
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- `configure({...})` now checks its patch with the config file's validator. An unknown option or a wrongly typed value prints one stderr warning and is skipped; the rest of the patch still applies. It never throws. Before, any key and value were stored as given. The callback form, `configure((cfg) => ...)`, is not checked.
|
|
23
|
+
- Retention (`maxLogFiles` and `maxRuns`) never deletes a run that has a file modified in the last hour, so another runner or CI shard writing to the same folder keeps its files. Neither limit is a hard cap.
|
|
24
|
+
- GitHub annotation lines carry the `consoleWorker` / `consoleTest` prefix when those options are on.
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
|
|
28
|
+
- Without `initRun()`, each Playwright worker used its own run id, so with `maxLogFiles` set it could delete a sibling worker's live log files as "older". Retention is now off in such a worker.
|
|
29
|
+
|
|
30
|
+
## [0.2.0] - 2026-10-13
|
|
31
|
+
|
|
32
|
+
Adds a project config file, independent color toggles, INFO truncation and log retention. With no config file and no new options set, output is identical to 0.1.0.
|
|
33
|
+
|
|
34
|
+
### Added
|
|
35
|
+
|
|
36
|
+
- Project config file: `logger.config.ts`, `.js`, `.cjs` or `.json` in the working directory, or the path in `VOID_LOG_CONFIG`. It is loaded once per process, so every Playwright worker reads it. It default-exports an object or a `(config) => patch` function. `defineConfig()` types it.
|
|
37
|
+
- Config precedence, lowest to highest: built-in defaults, config file, environment variables, `configure()` calls.
|
|
38
|
+
- Strict config file validation: a file that throws, has the wrong shape, has an unknown option or has a wrongly typed value fails with an error naming the file, on every use until fixed. An explicit `VOID_LOG_CONFIG` that does not exist is an error.
|
|
39
|
+
- `fg` and `bg` options (env `VOID_LOG_FG`, `VOID_LOG_BG`) to turn the foreground colors and the theme background on and off independently. Bold, including table titles, follows `fg`.
|
|
40
|
+
- `enableFg()`, `disableFg()`, `isFgEnabled()` and the `Bg` equivalents.
|
|
41
|
+
- `infoLogsCharLimit` option (env `VOID_LOG_INFO_LOGS_CHAR_LIMIT`): INFO lines longer than the limit print truncated with the total char count, followed by a WARN saying where to raise the limit and a DEBUG line with the full text. Tables are excluded.
|
|
42
|
+
- `maxLogFiles` option (env `VOID_LOG_MAX_FILES`): keeps the newest N files per trace kind across date folders. The current run's files are never deleted, and only files named like the logger's own output are touched.
|
|
43
|
+
- `ARCHITECTURE.md`, shipped in the package, describing the internals end to end.
|
|
44
|
+
- README installation, entry points, quick start and uninstall sections.
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
|
|
48
|
+
- Configuration is built lazily on first use, not at import, so an environment variable changed between import and the first log call is now honored.
|
|
49
|
+
- With `fg` and `bg` both off, console lines carry no escape codes on the line body, not even a lone reset.
|
|
50
|
+
- Environment variables apply only when set and valid. An invalid `VOID_LOG_LEVEL` is ignored instead of overriding a lower layer.
|
|
51
|
+
|
|
52
|
+
## [0.1.0] - 2026-10-05
|
|
53
|
+
|
|
54
|
+
First release on npm. A self-contained TypeScript port of the VOID `core.logging` package for Playwright projects, with no runtime dependencies.
|
|
55
|
+
|
|
56
|
+
### Added
|
|
57
|
+
|
|
58
|
+
- Level loggers `debug`, `info`, `warn` and `error`, each with intent-based actions such as `click`, `log`, `success`, `failed`, `password` (masked), `table`, `tree` and `row`, plus `fields()` for structured values.
|
|
59
|
+
- Console sink with the HIGH_CONTRAST theme. ANSI is auto-detected and controlled by `VOID_LOG_ANSI`, `NO_COLOR` and `FORCE_COLOR`. A caller suffix is shown at `debug` level, optionally colored with `callerColor`.
|
|
60
|
+
- Plain-text trace files under `logs/<date>/`: `partial-trace` (console-visible lines), `debug-trace` (every level, caller suffix) and `full-trace` (every level, `[CHAIN]` suffix). They are written synchronously, one file per Playwright worker, with every line prefixed `w<N> │ `.
|
|
61
|
+
- Opt-in JSONL sink (`VOID_LOG_JSONL=1`) with one JSON record per call, including `worker` and `test`.
|
|
62
|
+
- Secret redaction of structured values by key (`redactKeys`).
|
|
63
|
+
- Custom sinks (`addSink`, `removeSink`) and in-memory capture (`captureLogs`).
|
|
64
|
+
- Caller and in-project chain resolution, with filters (`suppressContains`, `suppressMethodPrefixes`, `includeOnlyPrefixes`, `projectRoots`).
|
|
65
|
+
- Table cell truncation (`tableCellLimit`).
|
|
66
|
+
- GitHub Actions `::error::` / `::warning::` annotations.
|
|
67
|
+
- Playwright entry (`@aryan-vashishth/advanced-logger/playwright`): a drop-in `test` / `expect` whose auto fixture tags each test, logs `TEST START` / `TEST END` and attaches the test's log to the report (`attach`: `on-failure` by default).
|
|
68
|
+
- `initRun()` to share one run id across Playwright workers via `VOID_RUN_ID` / `VOID_RUN_DATE`.
|
|
69
|
+
- Environment variables `VOID_LOG_LEVEL`, `VOID_LOG_DIR`, `VOID_LOG_ANSI`, `VOID_LOG_JSONL` and `VOID_RUN_ID`, and `configure()` for code.
|
|
70
|
+
|
|
71
|
+
[0.3.0]: https://www.npmjs.com/package/@aryan-vashishth/advanced-logger/v/0.3.0
|
|
72
|
+
[0.2.0]: https://www.npmjs.com/package/@aryan-vashishth/advanced-logger/v/0.2.0
|
|
73
|
+
[0.1.0]: https://www.npmjs.com/package/@aryan-vashishth/advanced-logger/v/0.1.0
|
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ npm install @aryan-vashishth/advanced-logger
|
|
|
14
14
|
Pin an exact version if you want reproducible installs:
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
-
npm install @aryan-vashishth/advanced-logger@0.
|
|
17
|
+
npm install @aryan-vashishth/advanced-logger@0.3.0
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
Requirements:
|
|
@@ -42,6 +42,7 @@ Check the installed version with `npm ls @aryan-vashishth/advanced-logger`, and
|
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
3. Reference it in `playwright.config.ts`: `globalSetup: './global-setup.ts'`.
|
|
45
|
+
If you skip this, each worker prints a one-time `VOID_RUN_ID is not set` warning to stderr. Its files then carry their own run id, and log retention is turned off in that worker, so no worker can delete another's live files.
|
|
45
46
|
4. In specs, import `test` and `expect` from `@aryan-vashishth/advanced-logger/playwright` instead of `@playwright/test`.
|
|
46
47
|
5. Run your tests. Logs are written under `./logs/<date>/` (change with `VOID_LOG_DIR`).
|
|
47
48
|
|
|
@@ -91,10 +92,27 @@ globalSetup: './global-setup.ts' // export default async () => { initRun(); }
|
|
|
91
92
|
|
|
92
93
|
Files are written synchronously, one per Playwright worker (`...-w<index>.log`), so parallel workers never interleave and a crash loses nothing.
|
|
93
94
|
|
|
95
|
+
Workers are identified by Playwright's `TEST_WORKER_INDEX`, one process per worker. Node `worker_threads` are not supported: a thread starts with a copy of its parent's environment, so it gets the same worker label (`main` outside Playwright) and appends to the same files as the code that started it, with nothing to tell their lines apart.
|
|
96
|
+
|
|
97
|
+
### Telling parallel console output apart: consoleWorker, consoleTest
|
|
98
|
+
|
|
99
|
+
With several workers, console lines from different tests interleave. Two opt-in prefixes say where each line came from (both off by default, so the console looks the same as in 0.2.0):
|
|
100
|
+
|
|
101
|
+
```ts
|
|
102
|
+
configure({ consoleWorker: true, consoleTest: true });
|
|
103
|
+
// w1 │ logs in with a valid user │ 2026-10-13 16:25:06.083 │ INFO │ Click: Submit
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
- `consoleWorker` adds the worker (`w<index>`, or `main` outside Playwright), the same prefix every trace-file line already has.
|
|
107
|
+
- `consoleTest` adds the running test's own title, cut to 40 characters. It needs the Playwright fixture (`test` from `@aryan-vashishth/advanced-logger/playwright`); lines logged outside a test have no test segment.
|
|
108
|
+
- Both apply to the console only, including GitHub annotations. The trace files are already one file per worker with `TEST START` / `TEST END` around each test, and JSONL records already carry `worker` and the full `test` path.
|
|
109
|
+
|
|
94
110
|
## Configuration
|
|
95
111
|
|
|
96
|
-
Environment: `VOID_LOG_LEVEL` (debug/info/warn/error/off), `VOID_LOG_DIR`, `VOID_LOG_ANSI`, `VOID_LOG_FG`, `VOID_LOG_BG`, `VOID_LOG_JSONL`, `VOID_LOG_INFO_LOGS_CHAR_LIMIT`, `VOID_LOG_MAX_FILES`, `VOID_LOG_CONFIG`, `VOID_RUN_ID`, plus standard `NO_COLOR` / `FORCE_COLOR`. Boolean variables accept `1/true/yes/on` and `0/false/no/off`.
|
|
97
|
-
Code: `configure({ level, infoLogsCharLimit, maxLogFiles, ansi, fg, bg, callerColor, tsFormat, segmentDivider, tableCellLimit, tableCellLimitEnabled, files, console, redactKeys, attach, ... })`.
|
|
112
|
+
Environment: `VOID_LOG_LEVEL` (debug/info/warn/error/off), `VOID_LOG_DIR`, `VOID_LOG_ANSI`, `VOID_LOG_FG`, `VOID_LOG_BG`, `VOID_LOG_JSONL`, `VOID_LOG_INFO_LOGS_CHAR_LIMIT`, `VOID_LOG_MAX_RUNS`, `VOID_LOG_MAX_FILES`, `VOID_LOG_CONFIG`, `VOID_RUN_ID`, plus standard `NO_COLOR` / `FORCE_COLOR`. Boolean variables accept `1/true/yes/on` and `0/false/no/off`.
|
|
113
|
+
Code: `configure({ level, infoLogsCharLimit, maxRuns, maxLogFiles, consoleWorker, consoleTest, ansi, fg, bg, callerColor, tsFormat, segmentDivider, tableCellLimit, tableCellLimitEnabled, files, console, redactKeys, attach, ... })`.
|
|
114
|
+
|
|
115
|
+
`configure({...})` checks its patch the same way the config file is checked, but it never throws, since a logging option should not fail a test. An unknown option (such as a typo like `levl`) or a wrongly typed value prints one warning to stderr and is skipped; the rest of the patch still applies. The callback form, `configure((cfg) => ...)`, is not checked.
|
|
98
116
|
|
|
99
117
|
The single theme (HIGH_CONTRAST) is on when ANSI is on: `enableAnsi()` / `disableAnsi()`.
|
|
100
118
|
|
|
@@ -134,13 +152,28 @@ Notes:
|
|
|
134
152
|
- An invalid `VOID_LOG_LEVEL` is ignored, so it never overrides the config file.
|
|
135
153
|
- `NO_COLOR` and `FORCE_COLOR` count as environment variables, so they beat `ansi` in the file. Terminal auto-detection does not: the file beats it.
|
|
136
154
|
|
|
137
|
-
### Limiting how many
|
|
155
|
+
### Limiting how many logs are kept: maxRuns, maxLogFiles
|
|
138
156
|
|
|
139
|
-
`
|
|
157
|
+
`maxRuns: 5` (or `VOID_LOG_MAX_RUNS=5`) keeps the 5 newest runs in each of `partial-trace`, `debug-trace`, `full-trace` and `jsonl`, counted across all date folders and including the current run. Older runs are deleted whole, never one worker's file at a time. A run's age is the modification time of its newest file. Date folders left empty are removed. Unset, `null` or `0` keeps everything (the default; an env value of `0` turns off a limit set in the config file).
|
|
140
158
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
159
|
+
`maxLogFiles: 20` (or `VOID_LOG_MAX_FILES=20`) is the older setting and counts files instead: it keeps the 20 newest files per kind. Each run writes one file per worker, so with 4 workers it holds about 5 runs, and it can leave part of a run behind. Prefer `maxRuns`. If both are set, a file is deleted when either limit says so.
|
|
160
|
+
|
|
161
|
+
Neither limit is a hard cap. These are never deleted:
|
|
162
|
+
|
|
163
|
+
- The current run's files. Parallel workers share one run id, so a run with more workers than `maxLogFiles` exceeds it.
|
|
164
|
+
- Any run with a file modified in the last hour. Another runner or CI shard writing to the same log folder at the same time may still be using it.
|
|
165
|
+
- Anything, in a Playwright worker without a shared run id (`initRun()` was not called). Each worker would see its siblings' live files as an older run, so retention is off in that worker and it prints a warning instead.
|
|
166
|
+
|
|
167
|
+
Cleanup runs once per process, per kind, right after the first write, and is best effort: a failure never reaches your test. Only files named like this logger's output (`<kind>-*.log` / `.jsonl`) are touched, so other files in the log folder are safe.
|
|
168
|
+
|
|
169
|
+
### Redaction: redactKeys
|
|
170
|
+
|
|
171
|
+
Values are masked as `***` when their **key** contains one of `redactKeys` (case-insensitive substring; the defaults cover `password`, `secret`, `token`, `authorization`, `apikey` and similar). This applies to structured output only: `fields(...)`, trees, rows and tables. Two gaps to know about:
|
|
172
|
+
|
|
173
|
+
- Free text is not scanned, so `` info.log(`password is ${pw}`) `` prints the password in clear.
|
|
174
|
+
- Only top-level keys are checked. A nested object is printed as JSON as it is, so `fields('user', { password: pw })` shows the password.
|
|
175
|
+
|
|
176
|
+
Pass secrets as top-level fields, use `info.password(value)` (which prints one `*` per character), or keep them out of messages.
|
|
144
177
|
|
|
145
178
|
### Truncating long INFO logs: infoLogsCharLimit
|
|
146
179
|
|
|
@@ -186,9 +219,11 @@ With `ansi: true`:
|
|
|
186
219
|
|
|
187
220
|
[ARCHITECTURE.md](ARCHITECTURE.md) describes the internals end to end: file layout, the dispatch pipeline, config layering, sinks, caller resolution and the Playwright fixture. It ships inside the npm package.
|
|
188
221
|
|
|
222
|
+
[CHANGELOG.md](CHANGELOG.md) lists what changed in each version, including any change to defaults or output. It also ships in the package.
|
|
223
|
+
|
|
189
224
|
## Differences from the Java logger
|
|
190
225
|
|
|
191
226
|
- Custom themes, `setTheme`, `tsWidth/levelWidth/actionWidth` and `traceArrow` are dropped (the width and arrow settings were never used by the renderer).
|
|
192
227
|
- Caller frames from the logger's own folder are excluded by path. Java excluded frames by method-name prefix (`log`, `info`, ...), which also hides user methods such as `login()`; that is not reproduced.
|
|
193
228
|
- No file rotation or gzip archives.
|
|
194
|
-
- Added: secret redaction in fields/tables, JSONL sink, custom sinks (`addSink`), in-memory capture, Playwright fixture with log attachment, per-worker files.
|
|
229
|
+
- Added: secret redaction in fields/tables, JSONL sink, custom sinks (`addSink`), in-memory capture, Playwright fixture with log attachment, per-worker files, run-based retention, worker and test prefixes on the console.
|
package/dist/config.d.ts
CHANGED
|
@@ -22,14 +22,24 @@ export interface LogConfig {
|
|
|
22
22
|
bg: boolean;
|
|
23
23
|
/**
|
|
24
24
|
* Max log files kept per trace kind (partial-trace, debug-trace, full-trace, jsonl); older ones are deleted by
|
|
25
|
-
* mtime. Files of the current run are never deleted
|
|
25
|
+
* mtime. Files of the current run, and of any run written to in the last hour, are never deleted, so this is not a
|
|
26
|
+
* hard cap. null (or 0) keeps everything. Prefer maxRuns: a file count can keep part of a parallel run.
|
|
26
27
|
*/
|
|
27
28
|
maxLogFiles: number | null;
|
|
29
|
+
/**
|
|
30
|
+
* Max runs kept per trace kind, the current run included. Older runs are deleted whole, oldest first. A run written
|
|
31
|
+
* to in the last hour is never deleted. null (or 0) keeps everything.
|
|
32
|
+
*/
|
|
33
|
+
maxRuns: number | null;
|
|
28
34
|
/**
|
|
29
35
|
* Max chars for an INFO log (tables excluded). Longer ones print truncated with the total char count, followed by a
|
|
30
36
|
* WARN and a DEBUG line holding the full text. null (or 0) means no limit.
|
|
31
37
|
*/
|
|
32
38
|
infoLogsCharLimit: number | null;
|
|
39
|
+
/** Console-only: prefix each line with the worker (w<N>, or main outside Playwright), as the trace files do. */
|
|
40
|
+
consoleWorker: boolean;
|
|
41
|
+
/** Console-only: prefix each line with the running test's title (set by the Playwright fixture), max 40 chars. */
|
|
42
|
+
consoleTest: boolean;
|
|
33
43
|
/** Console-only: color the caller suffix separately. Breaks one-ANSI-block-per-line. Independent of fg and bg. */
|
|
34
44
|
callerColor: boolean;
|
|
35
45
|
/** Java-style pattern (yyyy MM dd HH mm ss SSS) or a formatter function. */
|
|
@@ -65,7 +75,11 @@ export type LogConfigPatch = Partial<Omit<LogConfig, 'files' | 'suppressContains
|
|
|
65
75
|
suppressMethodPrefixes?: Iterable<string>;
|
|
66
76
|
includeOnlyPrefixes?: Iterable<string>;
|
|
67
77
|
};
|
|
68
|
-
/**
|
|
78
|
+
/**
|
|
79
|
+
* Merge a patch, or mutate in place with a callback. Set-typed fields accept arrays in a patch.
|
|
80
|
+
* A patch is checked like a config file, but a problem never throws (a logger must not fail a test): an unknown
|
|
81
|
+
* option or a wrong-typed value prints one stderr warning and is skipped, and the rest of the patch still applies.
|
|
82
|
+
*/
|
|
69
83
|
export declare function configure(patch: LogConfigPatch | ((cfg: LogConfig) => void)): LogConfig;
|
|
70
84
|
/** Tells the reader where to raise infoLogsCharLimit, based on which layer set the active value. */
|
|
71
85
|
export declare function infoLimitHint(): string;
|
|
@@ -110,6 +124,11 @@ export declare function getRun(): {
|
|
|
110
124
|
runId: string;
|
|
111
125
|
runDate: string;
|
|
112
126
|
};
|
|
127
|
+
/**
|
|
128
|
+
* True in a Playwright worker whose runner never called initRun(). Each such worker falls back to its own pid-based
|
|
129
|
+
* run id, so its files are split from its siblings' and retention would see their live files as an older run.
|
|
130
|
+
*/
|
|
131
|
+
export declare function runIdMissing(env?: NodeJS.ProcessEnv): boolean;
|
|
113
132
|
/** Worker label for the thread column: w<TEST_WORKER_INDEX> under Playwright, else "main". */
|
|
114
133
|
export declare function workerLabel(env?: NodeJS.ProcessEnv): string;
|
|
115
134
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AACpE,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,UAAU,EAAE,OAAO,CAAC;IACpB,oDAAoD;IACpD,YAAY,EAAE,OAAO,CAAC;IACtB,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,+FAA+F;IAC/F,KAAK,EAAE,SAAS,CAAC;IACjB,+GAA+G;IAC/G,IAAI,EAAE,OAAO,CAAC;IACd,8GAA8G;IAC9G,EAAE,EAAE,OAAO,CAAC;IACZ,oGAAoG;IACpG,EAAE,EAAE,OAAO,CAAC;IACZ
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -14,6 +14,7 @@ exports.setTableCellLimit = setTableCellLimit;
|
|
|
14
14
|
exports.formatTs = formatTs;
|
|
15
15
|
exports.initRun = initRun;
|
|
16
16
|
exports.getRun = getRun;
|
|
17
|
+
exports.runIdMissing = runIdMissing;
|
|
17
18
|
exports.workerLabel = workerLabel;
|
|
18
19
|
const configFile_1 = require("./configFile");
|
|
19
20
|
const LEVEL_ORDER = { debug: 10, info: 20, warn: 30, error: 40, off: 99 };
|
|
@@ -64,6 +65,9 @@ function builtinDefaults(env) {
|
|
|
64
65
|
bg: true,
|
|
65
66
|
infoLogsCharLimit: null,
|
|
66
67
|
maxLogFiles: null,
|
|
68
|
+
maxRuns: null,
|
|
69
|
+
consoleWorker: false,
|
|
70
|
+
consoleTest: false,
|
|
67
71
|
callerColor: false,
|
|
68
72
|
tsFormat: 'yyyy-MM-dd HH:mm:ss.SSS',
|
|
69
73
|
segmentDivider: ' │ ',
|
|
@@ -107,6 +111,9 @@ function applyEnv(cfg, env) {
|
|
|
107
111
|
const maxFiles = env.VOID_LOG_MAX_FILES?.trim();
|
|
108
112
|
if (maxFiles && /^\d+$/.test(maxFiles))
|
|
109
113
|
cfg.maxLogFiles = Number(maxFiles) > 0 ? Number(maxFiles) : null;
|
|
114
|
+
const maxRuns = env.VOID_LOG_MAX_RUNS?.trim();
|
|
115
|
+
if (maxRuns && /^\d+$/.test(maxRuns))
|
|
116
|
+
cfg.maxRuns = Number(maxRuns) > 0 ? Number(maxRuns) : null;
|
|
110
117
|
const fg = envBool(env.VOID_LOG_FG);
|
|
111
118
|
if (fg !== undefined)
|
|
112
119
|
cfg.fg = fg;
|
|
@@ -168,7 +175,13 @@ function applyPatch(target, patch) {
|
|
|
168
175
|
if (includeOnlyPrefixes)
|
|
169
176
|
target.includeOnlyPrefixes = new Set(includeOnlyPrefixes);
|
|
170
177
|
}
|
|
171
|
-
/**
|
|
178
|
+
/** configure() problems already reported in this process, so a call inside a loop or hook warns once. */
|
|
179
|
+
const WARNED = new Set();
|
|
180
|
+
/**
|
|
181
|
+
* Merge a patch, or mutate in place with a callback. Set-typed fields accept arrays in a patch.
|
|
182
|
+
* A patch is checked like a config file, but a problem never throws (a logger must not fail a test): an unknown
|
|
183
|
+
* option or a wrong-typed value prints one stderr warning and is skipped, and the rest of the patch still applies.
|
|
184
|
+
*/
|
|
172
185
|
function configure(patch) {
|
|
173
186
|
const cur = (0, exports.config)();
|
|
174
187
|
if (typeof patch === 'function') {
|
|
@@ -178,11 +191,25 @@ function configure(patch) {
|
|
|
178
191
|
LIMIT_SOURCE = 'code';
|
|
179
192
|
return cur;
|
|
180
193
|
}
|
|
194
|
+
if (typeof patch !== 'object' || patch === null || Array.isArray(patch)) {
|
|
195
|
+
warnOnce(`[advanced-logger] configure() expects an object or a function (got ${patch === null ? 'null' : typeof patch}); ignored.`);
|
|
196
|
+
return cur;
|
|
197
|
+
}
|
|
198
|
+
const checked = (0, configFile_1.checkPatch)(patch, 'configure()');
|
|
199
|
+
for (const p of checked.problems)
|
|
200
|
+
warnOnce(`${p} Skipped.`);
|
|
201
|
+
patch = checked.patch;
|
|
181
202
|
applyPatch(cur, patch);
|
|
182
203
|
if (patch.infoLogsCharLimit !== undefined)
|
|
183
204
|
LIMIT_SOURCE = 'code';
|
|
184
205
|
return cur;
|
|
185
206
|
}
|
|
207
|
+
function warnOnce(msg) {
|
|
208
|
+
if (WARNED.has(msg))
|
|
209
|
+
return;
|
|
210
|
+
WARNED.add(msg);
|
|
211
|
+
process.stderr.write(msg + '\n');
|
|
212
|
+
}
|
|
186
213
|
/** Tells the reader where to raise infoLogsCharLimit, based on which layer set the active value. */
|
|
187
214
|
function infoLimitHint() {
|
|
188
215
|
const file = (0, configFile_1.loadedConfigFile)();
|
|
@@ -203,6 +230,7 @@ function defineConfig(c) {
|
|
|
203
230
|
/** Restore defaults and re-read env and the config file. Mainly for tests. */
|
|
204
231
|
function resetConfig() {
|
|
205
232
|
CURRENT = undefined;
|
|
233
|
+
WARNED.clear();
|
|
206
234
|
(0, configFile_1.forgetConfigFile)();
|
|
207
235
|
return (0, exports.config)();
|
|
208
236
|
}
|
|
@@ -313,6 +341,13 @@ function getRun() {
|
|
|
313
341
|
runDate: process.env.VOID_RUN_DATE || FALLBACK_RUN.runDate,
|
|
314
342
|
};
|
|
315
343
|
}
|
|
344
|
+
/**
|
|
345
|
+
* True in a Playwright worker whose runner never called initRun(). Each such worker falls back to its own pid-based
|
|
346
|
+
* run id, so its files are split from its siblings' and retention would see their live files as an older run.
|
|
347
|
+
*/
|
|
348
|
+
function runIdMissing(env = process.env) {
|
|
349
|
+
return env.TEST_WORKER_INDEX != null && !env.VOID_RUN_ID;
|
|
350
|
+
}
|
|
316
351
|
/** Worker label for the thread column: w<TEST_WORKER_INDEX> under Playwright, else "main". */
|
|
317
352
|
function workerLabel(env = process.env) {
|
|
318
353
|
return env.TEST_WORKER_INDEX != null ? `w${env.TEST_WORKER_INDEX}` : 'main';
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/configFile.d.ts
CHANGED
|
@@ -13,5 +13,14 @@ export declare function loadConfigFile(env: NodeJS.ProcessEnv, cwd: string): Loa
|
|
|
13
13
|
export declare const loadedConfigFile: () => string | undefined;
|
|
14
14
|
/** Drop the cached module so the next load re-reads the file (tests, resetConfig). */
|
|
15
15
|
export declare function forgetConfigFile(): void;
|
|
16
|
+
/**
|
|
17
|
+
* Check a patch against KEYS. Every unknown key or wrong-typed value becomes a message naming `where`, and is left
|
|
18
|
+
* out of the returned patch; undefined values are dropped. Shared by config files (which throw on the first problem)
|
|
19
|
+
* and configure() (which warns and carries on).
|
|
20
|
+
*/
|
|
21
|
+
export declare function checkPatch(value: Record<string, unknown>, where: string): {
|
|
22
|
+
patch: LogConfigPatch;
|
|
23
|
+
problems: string[];
|
|
24
|
+
};
|
|
16
25
|
export {};
|
|
17
26
|
//# sourceMappingURL=configFile.d.ts.map
|
package/dist/configFile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configFile.d.ts","sourceRoot":"","sources":["../src/configFile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1D,mFAAmF;AACnF,eAAO,MAAM,iBAAiB,8FAA+F,CAAC;AAE9H,KAAK,MAAM,GAAG,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,KAAK,cAAc,CAAC,CAAC;AAEvE,8GAA8G;AAC9G,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAczF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA4BtF;AAID,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,QAAO,MAAM,GAAG,SAAmB,CAAC;AAEjE,sFAAsF;AACtF,wBAAgB,gBAAgB,IAAI,IAAI,CASvC"}
|
|
1
|
+
{"version":3,"file":"configFile.d.ts","sourceRoot":"","sources":["../src/configFile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1D,mFAAmF;AACnF,eAAO,MAAM,iBAAiB,8FAA+F,CAAC;AAE9H,KAAK,MAAM,GAAG,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,KAAK,cAAc,CAAC,CAAC;AAEvE,8GAA8G;AAC9G,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAczF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA4BtF;AAID,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,QAAO,MAAM,GAAG,SAAmB,CAAC;AAEjE,sFAAsF;AACtF,wBAAgB,gBAAgB,IAAI,IAAI,CASvC;AAwDD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA8BvH"}
|
package/dist/configFile.js
CHANGED
|
@@ -37,6 +37,7 @@ exports.loadedConfigFile = exports.CONFIG_FILE_NAMES = void 0;
|
|
|
37
37
|
exports.resolveConfigFile = resolveConfigFile;
|
|
38
38
|
exports.loadConfigFile = loadConfigFile;
|
|
39
39
|
exports.forgetConfigFile = forgetConfigFile;
|
|
40
|
+
exports.checkPatch = checkPatch;
|
|
40
41
|
const fs = __importStar(require("node:fs"));
|
|
41
42
|
const path = __importStar(require("node:path"));
|
|
42
43
|
/** Looked up in this order in the project root; the first one that exists wins. */
|
|
@@ -133,6 +134,9 @@ const KEYS = {
|
|
|
133
134
|
bg: [bool, 'a boolean'],
|
|
134
135
|
infoLogsCharLimit: [(v) => v === null || (typeof v === 'number' && Number.isFinite(v) && v >= 0), 'a number >= 0 or null'],
|
|
135
136
|
maxLogFiles: [(v) => v === null || (Number.isInteger(v) && v >= 0), 'an integer >= 0 or null'],
|
|
137
|
+
maxRuns: [(v) => v === null || (Number.isInteger(v) && v >= 0), 'an integer >= 0 or null'],
|
|
138
|
+
consoleWorker: [bool, 'a boolean'],
|
|
139
|
+
consoleTest: [bool, 'a boolean'],
|
|
136
140
|
callerColor: [bool, 'a boolean'],
|
|
137
141
|
tsFormat: [(v) => str(v) || typeof v === 'function', 'a string or a function'],
|
|
138
142
|
segmentDivider: [str, 'a string'],
|
|
@@ -150,34 +154,53 @@ const KEYS = {
|
|
|
150
154
|
attach: [oneOf('on-failure', 'always', 'never'), "one of 'on-failure' | 'always' | 'never'"],
|
|
151
155
|
};
|
|
152
156
|
const FILE_KEYS = ['debugTrace', 'partialTrace', 'fullTrace', 'jsonl'];
|
|
153
|
-
/**
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
157
|
+
/**
|
|
158
|
+
* Check a patch against KEYS. Every unknown key or wrong-typed value becomes a message naming `where`, and is left
|
|
159
|
+
* out of the returned patch; undefined values are dropped. Shared by config files (which throw on the first problem)
|
|
160
|
+
* and configure() (which warns and carries on).
|
|
161
|
+
*/
|
|
162
|
+
function checkPatch(value, where) {
|
|
158
163
|
const out = {};
|
|
164
|
+
const problems = [];
|
|
159
165
|
for (const [key, v] of Object.entries(value)) {
|
|
160
166
|
if (v === undefined)
|
|
161
167
|
continue;
|
|
162
168
|
const rule = KEYS[key];
|
|
163
169
|
if (!rule) {
|
|
164
|
-
|
|
170
|
+
problems.push(`[advanced-logger] ${where} has an unknown option '${key}'. Valid options: ${Object.keys(KEYS).join(', ')}.`);
|
|
171
|
+
continue;
|
|
165
172
|
}
|
|
166
173
|
if (!rule[0](v)) {
|
|
167
|
-
|
|
174
|
+
problems.push(`[advanced-logger] ${where}: option '${key}' must be ${rule[1]} (got ${describe(v)}).`);
|
|
175
|
+
continue;
|
|
168
176
|
}
|
|
169
177
|
if (key === 'files') {
|
|
178
|
+
const files = {};
|
|
170
179
|
for (const [fk, fv] of Object.entries(v)) {
|
|
171
180
|
if (fv === undefined)
|
|
172
181
|
continue;
|
|
173
182
|
if (!FILE_KEYS.includes(fk) || typeof fv !== 'boolean') {
|
|
174
|
-
|
|
183
|
+
problems.push(`[advanced-logger] ${where}: option 'files.${fk}' must be a boolean and one of ${FILE_KEYS.join(', ')}.`);
|
|
184
|
+
continue;
|
|
175
185
|
}
|
|
186
|
+
files[fk] = fv;
|
|
176
187
|
}
|
|
188
|
+
out[key] = files;
|
|
189
|
+
continue;
|
|
177
190
|
}
|
|
178
191
|
out[key] = v;
|
|
179
192
|
}
|
|
180
|
-
return out;
|
|
193
|
+
return { patch: out, problems };
|
|
194
|
+
}
|
|
195
|
+
/** Unknown keys are rejected (a typo such as `levl` must not be silently ignored); undefined values are dropped. */
|
|
196
|
+
function validatePatch(value, file, hint) {
|
|
197
|
+
if (!isPlainObject(value)) {
|
|
198
|
+
throw new Error(`[advanced-logger] Config file ${file} has an invalid shape: ${hint} (got ${describe(value)}).`);
|
|
199
|
+
}
|
|
200
|
+
const { patch, problems } = checkPatch(value, `Config file ${file}`);
|
|
201
|
+
if (problems.length > 0)
|
|
202
|
+
throw new Error(problems[0]);
|
|
203
|
+
return patch;
|
|
181
204
|
}
|
|
182
205
|
function describe(v) {
|
|
183
206
|
if (v === null)
|
package/dist/configFile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configFile.js","sourceRoot":"","sources":["../src/configFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,8CAcC;AAMD,wCA4BC;AAQD,4CASC;
|
|
1
|
+
{"version":3,"file":"configFile.js","sourceRoot":"","sources":["../src/configFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,8CAcC;AAMD,wCA4BC;AAQD,4CASC;AA6DD,gCA8BC;AAtKD,4CAA8B;AAC9B,gDAAkC;AAGlC,mFAAmF;AACtE,QAAA,iBAAiB,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,CAAU,CAAC;AAI9H,8GAA8G;AAC9G,SAAgB,iBAAiB,CAAC,GAAsB,EAAE,GAAW;IACnE,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,2EAA2E,IAAI,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,yBAAiB,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACvC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,GAAsB,EAAE,GAAW;IAChE,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,GAAG,IAAI,CAAC;IAEd,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,kGAAkG;QAClG,iEAAiE;QACjE,MAAM,GAAG,GAAY,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,qBAAqB,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,KAAuC,CAAC;QACnD,OAAO,CAAC,GAAG,EAAE,EAAE;YACb,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,kCAAkC,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,oCAAoC,CAAC,CAAC;QAC3E,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,gDAAgD,CAAC,CAAC;AACtF,CAAC;AAED,IAAI,MAA0B,CAAC;AAE/B,uEAAuE;AAChE,MAAM,gBAAgB,GAAG,GAAuB,EAAE,CAAC,MAAM,CAAC;AAApD,QAAA,gBAAgB,oBAAoC;AAEjE,sFAAsF;AACtF,SAAgB,gBAAgB;IAC9B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;QACD,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,uGAAuG;AACvG,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAK,GAAgC,CAAC,UAAU,EAAE,CAAC;QAC5F,OAAQ,GAA6B,CAAC,OAAO,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,IAAI,CAAC,IAAY,EAAE,GAAY,EAAE,IAAY;IACpD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,OAAO,IAAI,KAAK,CAAC,iCAAiC,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,iFAAiF;AAEjF,MAAM,aAAa,GAAG,CAAC,CAAU,EAAgC,EAAE,CACjE,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3D,MAAM,IAAI,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;AAC7D,MAAM,GAAG,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;AAC3D,MAAM,OAAO,GAAG,CAAC,CAAU,EAAW,EAAE,CACtC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,GAAI,CAAuB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AAC9G,MAAM,MAAM,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AAClG,MAAM,KAAK,GAAG,CAAC,GAAG,OAAiB,EAAE,EAAE,CAAC,CAAC,CAAU,EAAW,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE9G,MAAM,IAAI,GAAqF;IAC7F,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,oDAAoD,CAAC;IAC7G,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;IACzB,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;IACvB,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;IACvB,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,uBAAuB,CAAC;IAC1H,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAK,CAAY,IAAI,CAAC,CAAC,EAAE,yBAAyB,CAAC;IAC1G,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAK,CAAY,IAAI,CAAC,CAAC,EAAE,yBAAyB,CAAC;IACtG,aAAa,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;IAClC,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;IAChC,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,wBAAwB,CAAC;IAC9E,cAAc,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC;IACjC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC;IACvF,qBAAqB,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;IAC1C,gBAAgB,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC;IAClD,sBAAsB,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxD,mBAAmB,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACrD,YAAY,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAC7C,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;IAC5B,KAAK,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC;IACnC,MAAM,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,iBAAiB,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;IACtC,UAAU,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAC3C,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,0CAA0C,CAAC;CAC7F,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAEvE;;;;GAIG;AACH,SAAgB,UAAU,CAAC,KAA8B,EAAE,KAAa;IACtE,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,MAAM,IAAI,GAAI,IAAsE,CAAC,GAAG,CAAC,CAAC;QAC1F,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,QAAQ,CAAC,IAAI,CAAC,qBAAqB,KAAK,2BAA2B,GAAG,qBAAqB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5H,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,qBAAqB,KAAK,aAAa,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtG,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,MAAM,KAAK,GAA4B,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAA4B,CAAC,EAAE,CAAC;gBACpE,IAAI,EAAE,KAAK,SAAS;oBAAE,SAAS;gBAC/B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,KAAK,SAAS,EAAE,CAAC;oBACvD,QAAQ,CAAC,IAAI,CAAC,qBAAqB,KAAK,mBAAmB,EAAE,kCAAkC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACxH,SAAS;gBACX,CAAC;gBACD,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACjB,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACjB,SAAS;QACX,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAAqB,EAAE,QAAQ,EAAE,CAAC;AACpD,CAAC;AAED,oHAAoH;AACpH,SAAS,aAAa,CAAC,KAAc,EAAE,IAAY,EAAE,IAAY;IAC/D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,0BAA0B,IAAI,SAAS,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnH,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC;IACrE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC1B,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,UAAU,CAAC;IACxC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC"}
|
package/dist/core.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { type LevelName, LogIntent } from './theme';
|
|
2
|
-
/**
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Tag subsequent events with the running test: `test` (the full path) goes to jsonl records, `title` (default: `test`)
|
|
4
|
+
* to the consoleTest prefix. Set by the Playwright fixture.
|
|
5
|
+
*/
|
|
6
|
+
export declare function setTestContext(test: string | undefined, title?: string): void;
|
|
4
7
|
export declare const getTestContext: () => string | undefined;
|
|
5
8
|
/**
|
|
6
9
|
* Single funnel for every log call. Sinks are asked first so no stack is captured
|
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,SAAS,EAAgB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,SAAS,EAAgB,MAAM,SAAS,CAAC;AAKlE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAG7E;AACD,eAAO,MAAM,cAAc,QAAO,MAAM,GAAG,SAAwB,CAAC;AAEpE;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,GAAG,IAAI,EACxB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,IAAI,CA2BN;AAuCD,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,CAElE"}
|
package/dist/core.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTestContext =
|
|
3
|
+
exports.getTestContext = void 0;
|
|
4
|
+
exports.setTestContext = setTestContext;
|
|
4
5
|
exports.dispatch = dispatch;
|
|
5
6
|
exports.themed = themed;
|
|
6
7
|
const caller_1 = require("./caller");
|
|
@@ -8,9 +9,15 @@ const config_1 = require("./config");
|
|
|
8
9
|
const sinks_1 = require("./sinks");
|
|
9
10
|
const theme_1 = require("./theme");
|
|
10
11
|
let currentTest;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
let currentTitle;
|
|
13
|
+
/**
|
|
14
|
+
* Tag subsequent events with the running test: `test` (the full path) goes to jsonl records, `title` (default: `test`)
|
|
15
|
+
* to the consoleTest prefix. Set by the Playwright fixture.
|
|
16
|
+
*/
|
|
17
|
+
function setTestContext(test, title) {
|
|
18
|
+
currentTest = test;
|
|
19
|
+
currentTitle = test === undefined ? undefined : (title ?? test);
|
|
20
|
+
}
|
|
14
21
|
const getTestContext = () => currentTest;
|
|
15
22
|
exports.getTestContext = getTestContext;
|
|
16
23
|
/**
|
|
@@ -56,6 +63,7 @@ function emit(level, intent, color, label, message) {
|
|
|
56
63
|
chain,
|
|
57
64
|
worker: (0, config_1.workerLabel)(),
|
|
58
65
|
test: currentTest,
|
|
66
|
+
testTitle: currentTitle,
|
|
59
67
|
};
|
|
60
68
|
for (const s of sinks) {
|
|
61
69
|
try {
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { debug, info, warn, error } from './logger';
|
|
2
2
|
export { LogActions, fields, formatValue } from './actions';
|
|
3
3
|
export type { Fields, Row } from './actions';
|
|
4
|
-
export { config, configure, defineConfig, resetConfig, initRun, getRun, workerLabel, enableAnsi, disableAnsi, isAnsiEnabled, enableFg, disableFg, isFgEnabled, enableBg, disableBg, isBgEnabled, enableCallerColor, disableCallerColor, isCallerColorEnabled, isDebugEnabled, includeOnlyPackages, suppressClassContains, suppressMethodPrefix, clearIncludes, setTableCellLimit, disableTableCellLimit, detectAnsiSupport, } from './config';
|
|
4
|
+
export { config, configure, defineConfig, resetConfig, initRun, getRun, workerLabel, runIdMissing, enableAnsi, disableAnsi, isAnsiEnabled, enableFg, disableFg, isFgEnabled, enableBg, disableBg, isBgEnabled, enableCallerColor, disableCallerColor, isCallerColorEnabled, isDebugEnabled, includeOnlyPackages, suppressClassContains, suppressMethodPrefix, clearIncludes, setTableCellLimit, disableTableCellLimit, detectAnsiSupport, } from './config';
|
|
5
5
|
export type { LogConfig, LogConfigPatch, RootLevel, AttachPolicy, FileToggles } from './config';
|
|
6
6
|
export { LogIntent } from './theme';
|
|
7
7
|
export type { LevelName } from './theme';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC5D,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,MAAM,EACN,SAAS,EACT,YAAY,EACZ,WAAW,EACX,OAAO,EACP,MAAM,EACN,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzF,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC5D,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,MAAM,EACN,SAAS,EACT,YAAY,EACZ,WAAW,EACX,OAAO,EACP,MAAM,EACN,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzF,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.traceFilePath = exports.closeAllFiles = exports.captureLogs = exports.removeSink = exports.addSink = exports.getTestContext = exports.setTestContext = exports.fgFromStyle = exports.stripAnsi = exports.LogIntent = exports.detectAnsiSupport = exports.disableTableCellLimit = exports.setTableCellLimit = exports.clearIncludes = exports.suppressMethodPrefix = exports.suppressClassContains = exports.includeOnlyPackages = exports.isDebugEnabled = exports.isCallerColorEnabled = exports.disableCallerColor = exports.enableCallerColor = exports.isBgEnabled = exports.disableBg = exports.enableBg = exports.isFgEnabled = exports.disableFg = exports.enableFg = exports.isAnsiEnabled = exports.disableAnsi = exports.enableAnsi = exports.workerLabel = exports.getRun = exports.initRun = exports.resetConfig = exports.defineConfig = exports.configure = exports.config = exports.formatValue = exports.fields = exports.LogActions = exports.error = exports.warn = exports.info = exports.debug = void 0;
|
|
3
|
+
exports.traceFilePath = exports.closeAllFiles = exports.captureLogs = exports.removeSink = exports.addSink = exports.getTestContext = exports.setTestContext = exports.fgFromStyle = exports.stripAnsi = exports.LogIntent = exports.detectAnsiSupport = exports.disableTableCellLimit = exports.setTableCellLimit = exports.clearIncludes = exports.suppressMethodPrefix = exports.suppressClassContains = exports.includeOnlyPackages = exports.isDebugEnabled = exports.isCallerColorEnabled = exports.disableCallerColor = exports.enableCallerColor = exports.isBgEnabled = exports.disableBg = exports.enableBg = exports.isFgEnabled = exports.disableFg = exports.enableFg = exports.isAnsiEnabled = exports.disableAnsi = exports.enableAnsi = exports.runIdMissing = exports.workerLabel = exports.getRun = exports.initRun = exports.resetConfig = exports.defineConfig = exports.configure = exports.config = exports.formatValue = exports.fields = exports.LogActions = exports.error = exports.warn = exports.info = exports.debug = void 0;
|
|
4
4
|
var logger_1 = require("./logger");
|
|
5
5
|
Object.defineProperty(exports, "debug", { enumerable: true, get: function () { return logger_1.debug; } });
|
|
6
6
|
Object.defineProperty(exports, "info", { enumerable: true, get: function () { return logger_1.info; } });
|
|
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "resetConfig", { enumerable: true, get: function
|
|
|
18
18
|
Object.defineProperty(exports, "initRun", { enumerable: true, get: function () { return config_1.initRun; } });
|
|
19
19
|
Object.defineProperty(exports, "getRun", { enumerable: true, get: function () { return config_1.getRun; } });
|
|
20
20
|
Object.defineProperty(exports, "workerLabel", { enumerable: true, get: function () { return config_1.workerLabel; } });
|
|
21
|
+
Object.defineProperty(exports, "runIdMissing", { enumerable: true, get: function () { return config_1.runIdMissing; } });
|
|
21
22
|
Object.defineProperty(exports, "enableAnsi", { enumerable: true, get: function () { return config_1.enableAnsi; } });
|
|
22
23
|
Object.defineProperty(exports, "disableAnsi", { enumerable: true, get: function () { return config_1.disableAnsi; } });
|
|
23
24
|
Object.defineProperty(exports, "isAnsiEnabled", { enumerable: true, get: function () { return config_1.isAnsiEnabled; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAA3C,+FAAA,KAAK,OAAA;AAAE,8FAAA,IAAI,OAAA;AAAE,8FAAA,IAAI,OAAA;AAAE,+FAAA,KAAK,OAAA;AACjC,qCAA4D;AAAnD,qGAAA,UAAU,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,sGAAA,WAAW,OAAA;AAExC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAoD;AAA3C,+FAAA,KAAK,OAAA;AAAE,8FAAA,IAAI,OAAA;AAAE,8FAAA,IAAI,OAAA;AAAE,+FAAA,KAAK,OAAA;AACjC,qCAA4D;AAAnD,qGAAA,UAAU,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,sGAAA,WAAW,OAAA;AAExC,mCA6BkB;AA5BhB,gGAAA,MAAM,OAAA;AACN,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AACZ,qGAAA,WAAW,OAAA;AACX,iGAAA,OAAO,OAAA;AACP,gGAAA,MAAM,OAAA;AACN,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AACZ,oGAAA,UAAU,OAAA;AACV,qGAAA,WAAW,OAAA;AACX,uGAAA,aAAa,OAAA;AACb,kGAAA,QAAQ,OAAA;AACR,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AACX,kGAAA,QAAQ,OAAA;AACR,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AACX,2GAAA,iBAAiB,OAAA;AACjB,4GAAA,kBAAkB,OAAA;AAClB,8GAAA,oBAAoB,OAAA;AACpB,wGAAA,cAAc,OAAA;AACd,6GAAA,mBAAmB,OAAA;AACnB,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,uGAAA,aAAa,OAAA;AACb,2GAAA,iBAAiB,OAAA;AACjB,+GAAA,qBAAqB,OAAA;AACrB,2GAAA,iBAAiB,OAAA;AAGnB,iCAAoC;AAA3B,kGAAA,SAAS,OAAA;AAElB,+BAAgD;AAAvC,iGAAA,SAAS,OAAA;AAAE,mGAAA,WAAW,OAAA;AAC/B,+BAAwD;AAA/C,sGAAA,cAAc,OAAA;AAAE,sGAAA,cAAc,OAAA;AACvC,iCAAyF;AAAhF,gGAAA,OAAO,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,sGAAA,aAAa,OAAA"}
|
package/dist/playwright.js
CHANGED
|
@@ -18,7 +18,7 @@ const logger_1 = require("./logger");
|
|
|
18
18
|
exports.test = test_1.test.extend({
|
|
19
19
|
voidLog: [
|
|
20
20
|
async ({}, use, testInfo) => {
|
|
21
|
-
(0, core_1.setTestContext)(testInfo.titlePath.join(' > '));
|
|
21
|
+
(0, core_1.setTestContext)(testInfo.titlePath.join(' > '), testInfo.title);
|
|
22
22
|
const capture = (0, sinks_1.captureLogs)();
|
|
23
23
|
logger_1.info.log(`TEST START | ${testInfo.titlePath.join(' > ')}`);
|
|
24
24
|
try {
|
package/dist/playwright.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":";;;AAAA,2CAAwD;AAwC/C,uFAxCc,aAAM,OAwCd;AAvCf,qCAAkC;AAClC,iCAAwC;AACxC,mCAAsC;AACtC,qCAAuC;AAEvC;;;;;;;GAOG;AACU,QAAA,IAAI,GAAG,WAAI,CAAC,MAAM,CAAoB;IACjD,OAAO,EAAE;QACP,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC1B,IAAA,qBAAc,EAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/
|
|
1
|
+
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":";;;AAAA,2CAAwD;AAwC/C,uFAxCc,aAAM,OAwCd;AAvCf,qCAAkC;AAClC,iCAAwC;AACxC,mCAAsC;AACtC,qCAAuC;AAEvC;;;;;;;GAOG;AACU,QAAA,IAAI,GAAG,WAAI,CAAC,MAAM,CAAoB;IACjD,OAAO,EAAE;QACP,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC1B,IAAA,qBAAc,EAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,IAAA,mBAAW,GAAE,CAAC;YAC9B,aAAI,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC;gBACH,MAAM,GAAG,EAAE,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,cAAc,CAAC;gBAC3D,MAAM,IAAI,GAAG,cAAc,QAAQ,CAAC,MAAM,MAAM,QAAQ,CAAC,QAAQ,IAAI,CAAC;gBACtE,IAAI,MAAM;oBAAE,cAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;oBAC1B,aAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAExB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAA,eAAM,GAAE,CAAC,MAAM,CAAC;gBAC/B,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,KAAK,YAAY,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC;oBACzE,MAAM,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC/E,CAAC;gBACD,IAAA,qBAAc,EAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,EAAE,IAAI,EAAE,IAAI,EAAE;KACf;CACF,CAAC,CAAC;AAGH,mCAAmC;AAA1B,iGAAA,OAAO,OAAA"}
|
package/dist/sinks.d.ts
CHANGED
|
@@ -18,7 +18,10 @@ export interface LogEvent {
|
|
|
18
18
|
/** Plain in-project chain, empty when unresolved. */
|
|
19
19
|
chain: string;
|
|
20
20
|
worker: string;
|
|
21
|
+
/** Full test path ("file > describe > title"), as recorded in jsonl. */
|
|
21
22
|
test?: string;
|
|
23
|
+
/** Short test label for the console (the test's own title). */
|
|
24
|
+
testTitle?: string;
|
|
22
25
|
}
|
|
23
26
|
export interface Sink {
|
|
24
27
|
/** Cheap check run before any stack capture; return false to skip the event entirely. */
|
|
@@ -26,8 +29,11 @@ export interface Sink {
|
|
|
26
29
|
write(ev: LogEvent, cfg: LogConfig): void;
|
|
27
30
|
}
|
|
28
31
|
export declare const splitLines: (m: string) => string[];
|
|
32
|
+
export declare const TEST_TAG_MAX = 40;
|
|
29
33
|
export declare const consoleSink: Sink;
|
|
30
34
|
type FileKind = 'debug-trace' | 'partial-trace' | 'full-trace';
|
|
35
|
+
/** A run with any file modified this recently may still be writing (another runner, a CI shard): never pruned. */
|
|
36
|
+
export declare const RECENT_RUN_MS: number;
|
|
31
37
|
export declare function closeAllFiles(): void;
|
|
32
38
|
export declare function traceFilePath(cfg: LogConfig, kind: FileKind | 'jsonl', ext?: string): string;
|
|
33
39
|
export declare const partialTraceSink: Sink;
|
package/dist/sinks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sinks.d.ts","sourceRoot":"","sources":["../src/sinks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"sinks.d.ts","sourceRoot":"","sources":["../src/sinks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAkF,MAAM,UAAU,CAAC;AAC1H,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,SAAS,EAAe,MAAM,SAAS,CAAC;AAEjF,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,kDAAkD;IAClD,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,gHAAgH;IAChH,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,IAAI;IACnB,yFAAyF;IACzF,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC;IACnD,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;CAC3C;AAGD,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,KAAG,MAAM,EAA0B,CAAC;AAexE,eAAO,MAAM,YAAY,KAAK,CAAC;AAY/B,eAAO,MAAM,WAAW,EAAE,IAiCzB,CAAC;AAIF,KAAK,QAAQ,GAAG,aAAa,GAAG,eAAe,GAAG,YAAY,CAAC;AAqB/D,kHAAkH;AAClH,eAAO,MAAM,aAAa,QAAiB,CAAC;AA2F5C,wBAAgB,aAAa,IAAI,IAAI,CAWpC;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,EAAE,GAAG,SAAQ,GAAG,MAAM,CAK3F;AAeD,eAAO,MAAM,gBAAgB,MAE5B,CAAC;AAEF,eAAO,MAAM,cAAc,MAK1B,CAAC;AAEF,eAAO,MAAM,aAAa,MAKzB,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,IAkBvB,CAAC;AAIF,MAAM,WAAW,OAAO;IACtB,8DAA8D;IAC9D,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,MAAM,CAAC;CAChB;AAID,eAAO,MAAM,WAAW,EAAE,IAMzB,CAAC;AAEF,wBAAgB,WAAW,IAAI,OAAO,CAUrC;AAKD,eAAO,MAAM,OAAO,GAAI,GAAG,IAAI,KAAG,IAA0B,CAAC;AAC7D,eAAO,MAAM,UAAU,GAAI,GAAG,IAAI,KAAG,IAA6B,CAAC;AAEnE,wBAAgB,WAAW,IAAI,IAAI,EAAE,CAEpC"}
|
package/dist/sinks.js
CHANGED
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.removeSink = exports.addSink = exports.captureSink = exports.jsonlSink = exports.fullTraceSink = exports.debugTraceSink = exports.partialTraceSink = exports.consoleSink = exports.splitLines = void 0;
|
|
36
|
+
exports.removeSink = exports.addSink = exports.captureSink = exports.jsonlSink = exports.fullTraceSink = exports.debugTraceSink = exports.partialTraceSink = exports.RECENT_RUN_MS = exports.consoleSink = exports.TEST_TAG_MAX = exports.splitLines = void 0;
|
|
37
37
|
exports.closeAllFiles = closeAllFiles;
|
|
38
38
|
exports.traceFilePath = traceFilePath;
|
|
39
39
|
exports.captureLogs = captureLogs;
|
|
@@ -56,6 +56,16 @@ function githubCommand(ev) {
|
|
|
56
56
|
return null;
|
|
57
57
|
}
|
|
58
58
|
const escapeGithub = (t) => t.replace(/%/g, '%25').replace(/\r/g, '%0D').replace(/\n/g, '%0A');
|
|
59
|
+
exports.TEST_TAG_MAX = 40;
|
|
60
|
+
/** The opt-in "w1 │ test title │ " console prefix. The worker part matches the trace files' prefix. */
|
|
61
|
+
function consolePrefix(ev, cfg) {
|
|
62
|
+
let p = cfg.consoleWorker ? `${ev.worker} │ ` : '';
|
|
63
|
+
if (cfg.consoleTest && ev.testTitle) {
|
|
64
|
+
const t = ev.testTitle.replace(config_1.LINE_BREAKS, ' ');
|
|
65
|
+
p += (t.length > exports.TEST_TAG_MAX ? t.slice(0, exports.TEST_TAG_MAX - 3) + '...' : t) + ' │ ';
|
|
66
|
+
}
|
|
67
|
+
return p;
|
|
68
|
+
}
|
|
59
69
|
exports.consoleSink = {
|
|
60
70
|
accepts: (level, cfg) => cfg.console && (0, config_1.levelEnabled)(cfg.level, level),
|
|
61
71
|
write(ev, cfg) {
|
|
@@ -63,9 +73,10 @@ exports.consoleSink = {
|
|
|
63
73
|
const showCaller = (0, config_1.levelEnabled)(cfg.level, 'DEBUG');
|
|
64
74
|
const callerText = showCaller ? ev.caller : '';
|
|
65
75
|
const lines = (0, exports.splitLines)(ev.message);
|
|
76
|
+
const prefix = consolePrefix(ev, cfg);
|
|
66
77
|
const out = [];
|
|
67
78
|
lines.forEach((line, i) => {
|
|
68
|
-
const b = body(ev, cfg, line);
|
|
79
|
+
const b = prefix + body(ev, cfg, line);
|
|
69
80
|
const first = i === 0 && callerText !== '';
|
|
70
81
|
let text;
|
|
71
82
|
if (cfg.ansi) {
|
|
@@ -83,7 +94,7 @@ exports.consoleSink = {
|
|
|
83
94
|
out.push(text);
|
|
84
95
|
if (cfg.githubAnnotations) {
|
|
85
96
|
const cmd = githubCommand(ev);
|
|
86
|
-
const plain = ev.ts + div + line;
|
|
97
|
+
const plain = prefix + ev.ts + div + line;
|
|
87
98
|
if (cmd && plain.trim() !== '')
|
|
88
99
|
out.push(`::${cmd}::${escapeGithub(plain)}`);
|
|
89
100
|
}
|
|
@@ -107,14 +118,31 @@ function appendSync(file, text) {
|
|
|
107
118
|
}
|
|
108
119
|
/** Trace kinds already pruned by this process (once per kind, at its first write). */
|
|
109
120
|
const PRUNED = new Set();
|
|
121
|
+
/** A run with any file modified this recently may still be writing (another runner, a CI shard): never pruned. */
|
|
122
|
+
exports.RECENT_RUN_MS = 60 * 60 * 1000;
|
|
123
|
+
let RUN_ID_WARNED = false;
|
|
124
|
+
/** One stderr warning per process when a Playwright worker has no shared run id (initRun() was never called). */
|
|
125
|
+
function warnIfRunIdMissing() {
|
|
126
|
+
if (RUN_ID_WARNED || !(0, config_1.runIdMissing)())
|
|
127
|
+
return;
|
|
128
|
+
RUN_ID_WARNED = true;
|
|
129
|
+
process.stderr.write(`[advanced-logger] ${(0, config_1.workerLabel)()}: VOID_RUN_ID is not set, so this worker's log files use their own run id ` +
|
|
130
|
+
'and log retention is off in this process. Call initRun() from your Playwright globalSetup.\n');
|
|
131
|
+
}
|
|
110
132
|
/**
|
|
111
|
-
* Retention
|
|
112
|
-
*
|
|
113
|
-
*
|
|
133
|
+
* Retention per trace kind, across date folders: `maxLogFiles` keeps the newest N files by mtime, `maxRuns` keeps
|
|
134
|
+
* the newest N runs whole (a run is dated by its newest file). Both may be set; a file goes if either says so.
|
|
135
|
+
* Never deleted: the current run's files (parallel workers share one run id), and any run with a file modified in
|
|
136
|
+
* the last RECENT_RUN_MS. So neither limit is a hard cap. Skipped entirely in a worker without a shared run id,
|
|
137
|
+
* since its siblings' live files would look like an older run. Only files named like this logger's own output are
|
|
138
|
+
* touched. Best effort: errors never reach the caller.
|
|
114
139
|
*/
|
|
115
140
|
function pruneOnce(cfg, kind) {
|
|
116
|
-
const
|
|
117
|
-
|
|
141
|
+
const maxFiles = cfg.maxLogFiles != null && cfg.maxLogFiles > 0 ? cfg.maxLogFiles : null;
|
|
142
|
+
const maxRuns = cfg.maxRuns != null && cfg.maxRuns > 0 ? cfg.maxRuns : null;
|
|
143
|
+
if (maxFiles == null && maxRuns == null)
|
|
144
|
+
return;
|
|
145
|
+
if ((0, config_1.runIdMissing)())
|
|
118
146
|
return;
|
|
119
147
|
const key = `${path.resolve(cfg.logDir)}|${kind}`;
|
|
120
148
|
if (PRUNED.has(key))
|
|
@@ -123,6 +151,8 @@ function pruneOnce(cfg, kind) {
|
|
|
123
151
|
try {
|
|
124
152
|
const { runId } = (0, config_1.getRun)();
|
|
125
153
|
const own = new RegExp(`^${kind}-.+\\.(log|jsonl)$`);
|
|
154
|
+
// kind-<runId>-<worker>.<ext>; a name without a worker suffix counts as its own run.
|
|
155
|
+
const runOf = (name) => new RegExp(`^${kind}-(.+)-(main|w\\d+)\\.(log|jsonl)$`).exec(name)?.[1] ?? name;
|
|
126
156
|
const files = [];
|
|
127
157
|
for (const day of fs.readdirSync(cfg.logDir, { withFileTypes: true })) {
|
|
128
158
|
if (!day.isDirectory())
|
|
@@ -140,16 +170,35 @@ function pruneOnce(cfg, kind) {
|
|
|
140
170
|
continue;
|
|
141
171
|
const file = path.join(dir, name);
|
|
142
172
|
try {
|
|
143
|
-
files.push({ file, mtime: fs.statSync(file).mtimeMs, current: name.includes(runId) });
|
|
173
|
+
files.push({ file, mtime: fs.statSync(file).mtimeMs, run: runOf(name), current: name.includes(runId) });
|
|
144
174
|
}
|
|
145
175
|
catch {
|
|
146
176
|
/* removed by another worker */
|
|
147
177
|
}
|
|
148
178
|
}
|
|
149
179
|
}
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
180
|
+
const newest = new Map();
|
|
181
|
+
for (const f of files)
|
|
182
|
+
newest.set(f.run, Math.max(newest.get(f.run) ?? 0, f.mtime));
|
|
183
|
+
const now = Date.now();
|
|
184
|
+
const others = files.filter((f) => !f.current);
|
|
185
|
+
const doomed = new Set();
|
|
186
|
+
if (maxFiles != null) {
|
|
187
|
+
const keep = Math.max(0, maxFiles - (files.length - others.length));
|
|
188
|
+
for (const f of [...others].sort((a, b) => b.mtime - a.mtime).slice(keep))
|
|
189
|
+
doomed.add(f);
|
|
190
|
+
}
|
|
191
|
+
if (maxRuns != null) {
|
|
192
|
+
const otherRuns = [...new Set(others.map((f) => f.run))].sort((a, b) => newest.get(b) - newest.get(a));
|
|
193
|
+
const keep = Math.max(0, maxRuns - (others.length < files.length ? 1 : 0));
|
|
194
|
+
const old = new Set(otherRuns.slice(keep));
|
|
195
|
+
for (const f of others)
|
|
196
|
+
if (old.has(f.run))
|
|
197
|
+
doomed.add(f);
|
|
198
|
+
}
|
|
199
|
+
for (const f of doomed) {
|
|
200
|
+
if (now - newest.get(f.run) < exports.RECENT_RUN_MS)
|
|
201
|
+
continue;
|
|
153
202
|
try {
|
|
154
203
|
fs.rmSync(f.file, { force: true });
|
|
155
204
|
const dir = path.dirname(f.file);
|
|
@@ -170,6 +219,7 @@ function pruneOnce(cfg, kind) {
|
|
|
170
219
|
}
|
|
171
220
|
function closeAllFiles() {
|
|
172
221
|
PRUNED.clear();
|
|
222
|
+
RUN_ID_WARNED = false;
|
|
173
223
|
for (const fd of FD_CACHE.values()) {
|
|
174
224
|
try {
|
|
175
225
|
fs.closeSync(fd);
|
|
@@ -181,6 +231,7 @@ function closeAllFiles() {
|
|
|
181
231
|
FD_CACHE.clear();
|
|
182
232
|
}
|
|
183
233
|
function traceFilePath(cfg, kind, ext = 'log') {
|
|
234
|
+
warnIfRunIdMissing();
|
|
184
235
|
const { runId, runDate } = (0, config_1.getRun)();
|
|
185
236
|
const w = (0, config_1.workerLabel)();
|
|
186
237
|
return path.join(cfg.logDir, runDate, kind, `${kind}-${runId}-${w}.${ext}`);
|
package/dist/sinks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sinks.js","sourceRoot":"","sources":["../src/sinks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8JA,sCAUC;AAED,sCAIC;AAyED,kCAUC;AAQD,kCAEC;AA3QD,4CAA8B;AAC9B,gDAAkC;AAClC,iCAAmC;AACnC,qCAA+F;AAC/F,mCAAiF;AA6BjF,MAAM,WAAW,GAAG,yBAAgB,CAAC;AAC9B,MAAM,UAAU,GAAG,CAAC,CAAS,EAAY,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAA3D,QAAA,UAAU,cAAiD;AAExE,MAAM,IAAI,GAAG,CAAC,EAAY,EAAE,GAAc,EAAE,IAAY,EAAU,EAAE,CAClE,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;AAEpE,+EAA+E;AAE/E,SAAS,aAAa,CAAC,EAAY;IACjC,IAAI,EAAE,CAAC,KAAK,KAAK,OAAO,IAAI,EAAE,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAClE,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAElG,QAAA,WAAW,GAAS;IAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,IAAA,qBAAY,EAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;IACtE,KAAK,CAAC,EAAE,EAAE,GAAG;QACX,MAAM,GAAG,GAAG,GAAG,CAAC,cAAc,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAA,qBAAY,EAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,UAAU,KAAK,EAAE,CAAC;YAC3C,IAAI,IAAY,CAAC;YACjB,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,iGAAiG;gBACjG,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,mBAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChF,yFAAyF;gBACzF,IAAI;oBACF,KAAK,IAAI,GAAG,CAAC,WAAW;wBACtB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,iBAAS,GAAG,UAAU,GAAG,mBAAW;wBACtD,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC;gBACjC,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;oBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC;AAKF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE3C,SAAS,KAAK,CAAC,IAAY;IACzB,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5B,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,oFAAoF;AACpF,SAAS,UAAU,CAAC,IAAY,EAAE,IAAY;IAC5C,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,sFAAsF;AACtF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;AAEjC;;;;GAIG;AACH,SAAS,SAAS,CAAC,GAAc,EAAE,IAAwB;IACzD,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC;IAC5B,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO;IACpC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAClD,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,eAAM,GAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,oBAAoB,CAAC,CAAC;QACrD,MAAM,KAAK,GAA6D,EAAE,CAAC;QAC3E,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;gBAAE,SAAS;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,KAAe,CAAC;YACpB,IAAI,CAAC;gBACH,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAClC,IAAI,CAAC;oBACH,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxF,CAAC;gBAAC,MAAM,CAAC;oBACP,+BAA+B;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChG,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACxD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;oBAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;AACH,CAAC;AAED,SAAgB,aAAa;IAC3B,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,SAAgB,aAAa,CAAC,GAAc,EAAE,IAAwB,EAAE,GAAG,GAAG,KAAK;IACjF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAA,eAAM,GAAE,CAAC;IACpC,MAAM,CAAC,GAAG,IAAA,oBAAW,GAAE,CAAC;IACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,QAAQ,CAAC,IAAc,EAAE,OAAoC,EAAE,QAAiB,EAAE,MAAkD;IAC3I,OAAO;QACL,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAA,qBAAY,EAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtF,KAAK,CAAC,EAAE,EAAE,GAAG;YACX,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC/B,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,KAAK,CAAC;YACjC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACrG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC;AAEY,QAAA,gBAAgB,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CACvG,IAAA,kBAAU,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CACpD,CAAC;AAEW,QAAA,cAAc,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAClG,IAAA,kBAAU,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;IAClC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC,CACH,CAAC;AAEW,QAAA,aAAa,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAC/F,IAAA,kBAAU,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,GAAG,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC,CACH,CAAC;AAEF,8EAA8E;AAEjE,QAAA,SAAS,GAAS;IAC7B,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK;IACzC,KAAK,CAAC,EAAE,EAAE,GAAG;QACX,MAAM,GAAG,GAAG;YACV,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;YAC3B,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,OAAO,EAAE,IAAA,gBAAS,EAAC,EAAE,CAAC,OAAO,CAAC;YAC9B,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,SAAS;YAC9B,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,SAAS;YAC5B,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,OAAO,EAAE,IAAA,qBAAY,EAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;SAC3C,CAAC;QACF,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7E,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;CACF,CAAC;AAUF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAY,CAAC;AAExB,QAAA,WAAW,GAAS;IAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,IAAA,qBAAY,EAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;IAC5E,KAAK,CAAC,EAAE,EAAE,GAAG;QACX,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAS,EAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,KAAK,MAAM,GAAG,IAAI,QAAQ;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;IACjD,CAAC;CACF,CAAC;AAEF,SAAgB,WAAW;IACzB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,IAAI,EAAE,GAAG,EAAE;YACT,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAQ,CAAC;AACxB,MAAM,OAAO,GAAG,CAAC,CAAO,EAAQ,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAAhD,QAAA,OAAO,WAAyC;AACtD,MAAM,UAAU,GAAG,CAAC,CAAO,EAAQ,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAAtD,QAAA,UAAU,cAA4C;AAEnE,SAAgB,WAAW;IACzB,OAAO,CAAC,mBAAW,EAAE,wBAAgB,EAAE,sBAAc,EAAE,qBAAa,EAAE,iBAAS,EAAE,mBAAW,EAAE,GAAG,MAAM,CAAC,CAAC;AAC3G,CAAC"}
|
|
1
|
+
{"version":3,"file":"sinks.js","sourceRoot":"","sources":["../src/sinks.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aryan-vashishth/advanced-logger",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Self-contained logger for Playwright/TypeScript. Port of VOID core.logging.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
},
|
|
24
24
|
"files": [
|
|
25
25
|
"dist",
|
|
26
|
-
"ARCHITECTURE.md"
|
|
26
|
+
"ARCHITECTURE.md",
|
|
27
|
+
"CHANGELOG.md"
|
|
27
28
|
],
|
|
28
29
|
"scripts": {
|
|
29
30
|
"build": "tsc -p tsconfig.build.json",
|