flex_logger_isolate 1.0.0
flex_logger_isolate: ^1.0.0 copied to clipboard
Isolate logging integration for FlexLogger - enables logging from Dart isolates to the main isolate logger.
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