injectLogger function

LazyLogger injectLogger(
  1. String id
)

Get a logger from the provider.

id is an arbitrary parameter, and different Logger implementations will handle it differently.

If there is no provider, returned logger will be a DummyLogger.

Implementation

LazyLogger injectLogger(String id) {
  return LazyLogger(id, () {
    // First check the current Zone for a logger (existing behavior)
    var zoneLogger = Zone.current[_pubnubLoggerModuleKey];
    if (zoneLogger != null) {
      return zoneLogger;
    }

    // If no Zone logger, check for global PubNub logger (NEW)
    var globalLogger = _getGlobalPubNubLogger();
    if (globalLogger != null) {
      return globalLogger;
    }

    // Fallback to dummy logger
    return DummyLogger();
  });
}