flex_logger_isolate 1.0.4
flex_logger_isolate: ^1.0.4 copied to clipboard
Isolate logging integration for FlexLogger - enables logging from Dart isolates to the main isolate logger.
1.0.4 #
initializeIsolate()now usesrequireProvider<T>()for cleaner error handling.- Updated dependency to
flex_logger: ^1.0.4.
1.0.3 #
- Added
SerializedExceptionandSerializedErrorto preserveException/Errortype distinction across isolate boundaries. IsolateLoggeruses typed wrappers instead of plain strings for correct observer routing.- Added optional
providerIdparameter toIsolateLoggerProvider.
1.0.1 #
IsolateLog.formattedTitlenow combines the isolate ID and level, e.g.[worker-1 DEBUG].IsolateLoggerProviderReceivePort.listennow handlesonErrorandonDonefor proper auto-cleanup when an isolate terminates.IsolateLoggerProvider.dispose()now callsdisposeIsolateper isolate ID, ensuring ports are closed in the same path as normal disposal.
1.0.0 #
- Initial release
- IsolateLoggerProvider – implements
LoggerProvider; creates aReceivePortper isolate, forwards receivedIsolateLogmessages toFlexLogger.instance.logCustom(...); no observer (routing is to main logger) - Extension –
IsolateLoggerExtensiononFlexLogger:initializeIsolate(String isolateId)returnsSendPort,disposeIsolate(String isolateId); usesgetProvider<IsolateLoggerProvider>()so provider need not be passed through the app - IsolateLogger – implements
Logger; constructortag,sendPort; sendsIsolateDebugLog,IsolateInfoLog, etc. overSendPort; error/stackTrace serialized as string for port;logCustom(FlexLog)sends level/message/error/stackTrace (main receives correspondingIsolate*Log) - IsolateLog (sealed) – extends
FlexLog;tagis isolate id (used informattedTitlee.g.[worker-1] DEBUG); subclasses:IsolateDebugLog,IsolateInfoLog,IsolateSuccessLog,IsolateWarningLog,IsolateErrorLog,IsolateCriticalLog - All log levels supported (debug, info, success, warning, error, critical)
- Lifecycle – call
disposeIsolate(id)when isolate is done;Finalizercloses leftoverReceivePorts and logs a warning if dispose was skipped - Filtering handled by observers on main logger (Console, File, Sentry, etc.), not by the provider