injectLogger function
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();
});
}