@logtape/logtape 2.2.0-dev.712 → 2.2.0-dev.715

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -125,6 +125,7 @@ list of the packages in the LogTape monorepo:
125
125
  | [*@logtape/redaction*](/packages/redaction/) | [JSR][jsr:@logtape/redaction] | [npm][npm:@logtape/redaction] | Data redaction |
126
126
  | [*@logtape/sentry*](/packages/sentry/) | [JSR][jsr:@logtape/sentry] | [npm][npm:@logtape/sentry] | [Sentry] sink |
127
127
  | [*@logtape/syslog*](/packages/syslog/) | [JSR][jsr:@logtape/syslog] | [npm][npm:@logtape/syslog] | Syslog sink |
128
+ | [*@logtape/testing*](/packages/testing/) | [JSR][jsr:@logtape/testing] | [npm][npm:@logtape/testing] | Testing utilities |
128
129
  | [*@logtape/windows-eventlog*](/packages/windows-eventlog/) | [JSR][jsr:@logtape/windows-eventlog] | [npm][npm:@logtape/windows-eventlog] | Windows Event Log sink |
129
130
 
130
131
  [jsr:@logtape/logtape]: https://jsr.io/@logtape/logtape
@@ -175,6 +176,8 @@ list of the packages in the LogTape monorepo:
175
176
  [Sentry]: https://sentry.io/
176
177
  [jsr:@logtape/syslog]: https://jsr.io/@logtape/syslog
177
178
  [npm:@logtape/syslog]: https://www.npmjs.com/package/@logtape/syslog
179
+ [jsr:@logtape/testing]: https://jsr.io/@logtape/testing
180
+ [npm:@logtape/testing]: https://www.npmjs.com/package/@logtape/testing
178
181
  [jsr:@logtape/windows-eventlog]: https://jsr.io/@logtape/windows-eventlog
179
182
  [npm:@logtape/windows-eventlog]: https://www.npmjs.com/package/@logtape/windows-eventlog
180
183
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logtape/logtape",
3
- "version": "2.2.0-dev.712+6894bc45",
3
+ "version": "2.2.0-dev.715+dc8e6b45",
4
4
  "description": "Unobtrusive logging library with zero dependencies—library-first design for Deno/Node.js/Bun/browsers/edge",
5
5
  "keywords": [
6
6
  "logging",
@@ -480,26 +480,35 @@ See <https://logtape.org/manual/adaptors.md> for details.
480
480
  Testing
481
481
  -------
482
482
 
483
- For tests, configure a buffer sink and assert on collected records:
483
+ For tests, use `@logtape/testing` and assert on collected records:
484
484
 
485
485
  ~~~~ typescript
486
- import { configure, getLogger, reset, type LogRecord } from "@logtape/logtape";
486
+ import { configure, getLogger, reset } from "@logtape/logtape";
487
+ import { createLogRecorder } from "@logtape/testing";
487
488
 
488
- const buffer: LogRecord[] = [];
489
+ const recorder = createLogRecorder();
489
490
 
490
- await configure({
491
- sinks: { buffer: buffer.push.bind(buffer) },
492
- loggers: [{ category: "test", sinks: ["buffer"] }],
493
- });
494
-
495
- const logger = getLogger(["test"]);
496
- logger.info("hello");
491
+ try {
492
+ await configure({
493
+ sinks: { recorder: recorder.sink },
494
+ loggers: [
495
+ { category: "test", sinks: ["recorder"] },
496
+ { category: ["logtape", "meta"], sinks: [] },
497
+ ],
498
+ });
497
499
 
498
- // Assert
499
- assert(buffer.length === 1);
500
- assert(buffer[0].level === "info");
500
+ const logger = getLogger(["test"]);
501
+ logger.info("User {userId} logged in.", { userId: "u-123" });
501
502
 
502
- await reset();
503
+ recorder.assertLogged({
504
+ category: "test",
505
+ level: "info",
506
+ message: "User u-123 logged in.",
507
+ properties: { userId: "u-123" },
508
+ });
509
+ } finally {
510
+ await reset();
511
+ }
503
512
  ~~~~
504
513
 
505
514
  If using `configureSync()`, reset with `resetSync()`:
@@ -550,6 +559,12 @@ Available packages
550
559
  | `@logtape/pretty` | Pretty console formatter |
551
560
  | `@logtape/redaction` | Sensitive data redaction |
552
561
 
562
+ ### Testing
563
+
564
+ | Package | Description |
565
+ | ------------------ | ---------------------------- |
566
+ | `@logtape/testing` | Log recording and assertions |
567
+
553
568
  ### Adaptors (for existing loggers)
554
569
 
555
570
  | Package | Description |