@contrail/telemetry 1.0.2-alpha-plat927-2 → 1.0.2

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/CHANGELOG.md CHANGED
@@ -7,6 +7,17 @@ Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.0.2] - 2026-03-25
11
+
12
+ ### Added
13
+
14
+ - **Shared logger for libraries** — Any package can now `import { logger } from '@contrail/telemetry'` and get structured logging with request context, automatically enhanced when running inside a host service.
15
+ - **Browser safety** — Safe to import in browser environments (no `process is not defined` errors).
16
+
17
+ ### Changed
18
+
19
+ - Logger singleton now survives npm module duplication — no `overrides` needed for `@contrail/telemetry`.
20
+
10
21
  ## [1.0.0] - (initial changelog entry)
11
22
 
12
23
  - Initial changelog. Prior releases did not include a changelog.
@@ -7,17 +7,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.logger = void 0;
8
8
  exports.setLogger = setLogger;
9
9
  const pino_1 = __importDefault(require("pino"));
10
+ const LOGGER_KEY = Symbol.for('@contrail/telemetry:logger');
11
+ const globalStore = globalThis;
10
12
  const level = typeof process !== 'undefined' && ((_a = process.env) === null || _a === void 0 ? void 0 : _a.LOG_LEVEL) ? process.env.LOG_LEVEL : 'debug';
11
- let _logger = (0, pino_1.default)({ level });
13
+ const defaultLogger = (0, pino_1.default)({ level });
14
+ function getLogger() {
15
+ var _a;
16
+ return (_a = globalStore[LOGGER_KEY]) !== null && _a !== void 0 ? _a : defaultLogger;
17
+ }
12
18
  exports.logger = new Proxy({}, {
13
19
  get(_, prop) {
14
- const value = Reflect.get(_logger, prop, _logger);
20
+ const target = getLogger();
21
+ const value = Reflect.get(target, prop, target);
15
22
  if (typeof value === 'function') {
16
- return value.bind(_logger);
23
+ return value.bind(target);
17
24
  }
18
25
  return value;
19
26
  },
20
27
  });
21
28
  function setLogger(replacement) {
22
- _logger = replacement;
29
+ globalStore[LOGGER_KEY] = replacement;
23
30
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrail/telemetry",
3
- "version": "1.0.2-alpha-plat927-2",
3
+ "version": "1.0.2",
4
4
  "description": "Telemetry and monitoring utilities for contrail services",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",