@onlineapps/mq-client-core 1.0.56 → 1.0.58

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onlineapps/mq-client-core",
3
- "version": "1.0.56",
3
+ "version": "1.0.58",
4
4
  "description": "Core MQ client library for RabbitMQ - shared by infrastructure services and connectors",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -17,7 +17,23 @@ const {
17
17
  const PublishLayer = require('../layers/PublishLayer');
18
18
  const RecoveryWorker = require('../workers/RecoveryWorker');
19
19
  const PublishMonitor = require('../monitoring/PublishMonitor');
20
- const { createInfraLogger } = require('@onlineapps/infrastructure-tools');
20
+
21
+ // LAZY LOAD: Avoid circular dependency with infrastructure-tools
22
+ // infrastructure-tools imports mq-client-core, so we can't import it at top-level
23
+ let _createInfraLogger = null;
24
+ function getCreateInfraLogger() {
25
+ if (!_createInfraLogger) {
26
+ try {
27
+ _createInfraLogger = require('@onlineapps/infrastructure-tools').createInfraLogger;
28
+ } catch (e) {
29
+ // Fallback: simple console logger if infrastructure-tools not available
30
+ _createInfraLogger = (service, layer) => ({
31
+ log: (action, data) => console.log(`[${service}:${layer}:${action}]`, JSON.stringify(data))
32
+ });
33
+ }
34
+ }
35
+ return _createInfraLogger;
36
+ }
21
37
 
22
38
  class RabbitMQClient extends EventEmitter {
23
39
  /**
@@ -102,8 +118,8 @@ class RabbitMQClient extends EventEmitter {
102
118
  this._criticalHealthShutdownDelay = this._config.criticalHealthShutdownDelay || 60000; // Default: 60s delay before shutdown
103
119
  this._criticalHealthStartTime = null; // Track when critical health started
104
120
 
105
- // Create structured logger for infrastructure logging
106
- this._log = createInfraLogger('mq-client-core', 'transport');
121
+ // Create structured logger for infrastructure logging (lazy-loaded)
122
+ this._log = getCreateInfraLogger()('mq-client-core', 'transport');
107
123
 
108
124
  // Publish layer (retry + buffer)
109
125
  this._publishLayer = new PublishLayer({