@mks2508/better-logger 0.18.3 → 0.18.5

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.
Files changed (30) hide show
  1. package/dist/Logger.d.ts +0 -18
  2. package/dist/Logger.d.ts.map +1 -1
  3. package/dist/chunks/{LogContext-Dyzs61XG.js → LogContext-BO-f0KXu.js} +20 -14
  4. package/dist/chunks/{LogContext-Dyzs61XG.js.map → LogContext-BO-f0KXu.js.map} +1 -1
  5. package/dist/chunks/{LogContext-DZasm_P5.cjs → LogContext-CIKxWPrK.cjs} +20 -14
  6. package/dist/chunks/{LogContext-DZasm_P5.cjs.map → LogContext-CIKxWPrK.cjs.map} +1 -1
  7. package/dist/chunks/{transports-BGfwwakw.js → transports-DUVWQdFp.js} +209 -34
  8. package/dist/chunks/transports-DUVWQdFp.js.map +1 -0
  9. package/dist/chunks/{transports-yK6CL0Ml.cjs → transports-eCvDrc2q.cjs} +214 -33
  10. package/dist/chunks/transports-eCvDrc2q.cjs.map +1 -0
  11. package/dist/context/LogContext.d.ts.map +1 -1
  12. package/dist/context.cjs +1 -1
  13. package/dist/context.js +1 -1
  14. package/dist/index.cjs +26 -36
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.js +26 -36
  17. package/dist/index.js.map +1 -1
  18. package/dist/transports/FileTransport.d.ts +9 -4
  19. package/dist/transports/FileTransport.d.ts.map +1 -1
  20. package/dist/transports/SpanRuntime.d.ts +3 -0
  21. package/dist/transports/SpanRuntime.d.ts.map +1 -1
  22. package/dist/transports.cjs +1 -1
  23. package/dist/transports.js +1 -1
  24. package/package.json +1 -1
  25. package/dist/chunks/LogContext-BaMXleWj.cjs +0 -105
  26. package/dist/chunks/LogContext-BaMXleWj.cjs.map +0 -1
  27. package/dist/chunks/LogContext-DjlITOzZ.js +0 -100
  28. package/dist/chunks/LogContext-DjlITOzZ.js.map +0 -1
  29. package/dist/chunks/transports-BGfwwakw.js.map +0 -1
  30. package/dist/chunks/transports-yK6CL0Ml.cjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -3,12 +3,12 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_core = require("./chunks/core-CqS_UBzJ.cjs");
6
- const require_transports = require("./chunks/transports-BZ-Mc2IT.cjs");
6
+ const require_transports = require("./chunks/transports-eCvDrc2q.cjs");
7
7
  const require_utils = require("./chunks/utils-W_cxqriN.cjs");
8
8
  const require_styling = require("./chunks/styling-Cel2wPRy.cjs");
9
9
  const require_environment_detector = require("./chunks/environment-detector-D-tHkKWA.cjs");
10
10
  const require_spinner = require("./chunks/spinner-BHyYEXsM.cjs");
11
- const require_LogContext = require("./chunks/LogContext-DZasm_P5.cjs");
11
+ const require_LogContext = require("./chunks/LogContext-CIKxWPrK.cjs");
12
12
  const require_HookBridge = require("./chunks/HookBridge-C-AvXmPD.cjs");
13
13
  const require_SerializerBridge = require("./chunks/SerializerBridge-C4a9Z37F.cjs");
14
14
  const require_server_fallback = require("./chunks/server-fallback-CaCPjWby.cjs");
@@ -1566,19 +1566,38 @@ function createTransportBridge() {
1566
1566
  }
1567
1567
  //#endregion
1568
1568
  //#region src/transports/SpanRuntime.ts
1569
- /** ALS singleton del módulo — compartido por todas las instancias de Logger.
1569
+ /**
1570
+ * ALS singleton del módulo — compartido por todas las instancias de Logger.
1570
1571
  *
1571
1572
  * Resolución por capas (global → `process.getBuiltinModule` → `require`,
1572
1573
  * undefined en browser) delegada al helper compartido
1573
1574
  * {@link resolveAsyncLocalStorage} — ver su doc para el detalle de capas.
1574
- * `context/LogContext.ts` usa el mismo helper para su ALS de MDC. */
1575
- const activeSpanStore = require_LogContext.resolveAsyncLocalStorage();
1575
+ * `context/LogContext.ts` usa el mismo helper para su ALS de MDC.
1576
+ *
1577
+ * Se crea lazy en el primer `runWithActiveSpan`: cargar `node:async_hooks`
1578
+ * cuesta ~2,2 MB de RSS en bun, y `getActiveSpan` se consulta en cada
1579
+ * dispatch de log — resolverlo al importar se lo cobraría a todo proceso
1580
+ * que loguea, use spans o no.
1581
+ */
1582
+ let activeSpanStore;
1583
+ let spanStoreActivated = false;
1584
+ function activateSpanStore() {
1585
+ if (!spanStoreActivated) {
1586
+ spanStoreActivated = true;
1587
+ activeSpanStore = require_LogContext.resolveAsyncLocalStorage();
1588
+ }
1589
+ return activeSpanStore;
1590
+ }
1576
1591
  /**
1577
1592
  * Span activo en el call stack corriente (dentro de `span(fn)`), si lo hay.
1578
1593
  * Lo consumen la correlación log→span (`TransportRecord.traceId/spanId`) y la
1579
1594
  * resolución de `parentSpanId` en spans hijos.
1595
+ *
1596
+ * Sin `run()` previo el store estaría vacío igual, así que el guard por
1597
+ * flag es observable-identico a consultar el ALS real.
1580
1598
  */
1581
1599
  function getActiveSpan() {
1600
+ if (!spanStoreActivated) return void 0;
1582
1601
  return activeSpanStore?.getStore();
1583
1602
  }
1584
1603
  /**
@@ -1586,7 +1605,8 @@ function getActiveSpan() {
1586
1605
  * ejecuta `fn` directamente — sin correlación pero funcional.
1587
1606
  */
1588
1607
  function runWithActiveSpan(record, fn) {
1589
- return activeSpanStore ? activeSpanStore.run(record, fn) : fn();
1608
+ const store = activateSpanStore();
1609
+ return store ? store.run(record, fn) : fn();
1590
1610
  }
1591
1611
  /** Nanosegundos Unix actuales como string decimal (formato OTLP). */
1592
1612
  function nowUnixNano() {
@@ -2670,36 +2690,6 @@ var Logger = class Logger {
2670
2690
  * @internal
2671
2691
  */
2672
2692
  _dispatchTag;
2673
- /**
2674
- * Computa el contexto completamente mergueado para este logger.
2675
- *
2676
- * La cadena de contexto se construye en el momento de crear el child:
2677
- * cada child almacena el contexto fully-merged de su parent (en ese
2678
- * instante) como `_parentContextRecord`. Esto implica que
2679
- * `_parentContextRecord` ya contiene los bindings de todos los ancestros
2680
- * en el orden de precedencia correcto (root primero, child más cercano al final).
2681
- *
2682
- * Orden de merge (gana el último):
2683
- * 1. _parentContextRecord — snapshot del contexto mergueado del parent en la creación
2684
- * 2. _bindings — bindings propios de este logger (llamadas a `child()`)
2685
- * 3. ALS store — scope de `withContext`/`withContextAsync` (prioridad máxima)
2686
- *
2687
- * @internal
2688
- * @returns El record de contexto mergueado
2689
- */
2690
- _getMergedContext() {
2691
- let merged = this._parentContextRecord ?? {};
2692
- if (this._bindings && Object.keys(this._bindings).length > 0) merged = {
2693
- ...merged,
2694
- ...this._bindings
2695
- };
2696
- const alsContext = this.logContext._getAlsStore?.() ?? {};
2697
- if (alsContext && Object.keys(alsContext).length > 0) merged = {
2698
- ...merged,
2699
- ...alsContext
2700
- };
2701
- return merged;
2702
- }
2703
2693
  /** @internal Expone el contexto base mergueado (sin ALS) a la closure de la child factory de LogContext. */
2704
2694
  _captureMergedContext() {
2705
2695
  let merged = this._parentContextRecord ?? {};