flex_logger_isolate 1.0.4 copy "flex_logger_isolate: ^1.0.4" to clipboard
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 uses requireProvider<T>() for cleaner error handling.
  • Updated dependency to flex_logger: ^1.0.4.

1.0.3 #

  • Added SerializedException and SerializedError to preserve Exception/Error type distinction across isolate boundaries.
  • IsolateLogger uses typed wrappers instead of plain strings for correct observer routing.
  • Added optional providerId parameter to IsolateLoggerProvider.

1.0.1 #

  • IsolateLog.formattedTitle now combines the isolate ID and level, e.g. [worker-1 DEBUG].
  • IsolateLoggerProvider ReceivePort.listen now handles onError and onDone for proper auto-cleanup when an isolate terminates.
  • IsolateLoggerProvider.dispose() now calls disposeIsolate per isolate ID, ensuring ports are closed in the same path as normal disposal.

1.0.0 #

  • Initial release
  • IsolateLoggerProvider – implements LoggerProvider; creates a ReceivePort per isolate, forwards received IsolateLog messages to FlexLogger.instance.logCustom(...); no observer (routing is to main logger)
  • ExtensionIsolateLoggerExtension on FlexLogger: initializeIsolate(String isolateId) returns SendPort, disposeIsolate(String isolateId); uses getProvider<IsolateLoggerProvider>() so provider need not be passed through the app
  • IsolateLogger – implements Logger; constructor tag, sendPort; sends IsolateDebugLog, IsolateInfoLog, etc. over SendPort; error/stackTrace serialized as string for port; logCustom(FlexLog) sends level/message/error/stackTrace (main receives corresponding Isolate*Log)
  • IsolateLog (sealed) – extends FlexLog; tag is isolate id (used in formattedTitle e.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; Finalizer closes leftover ReceivePorts and logs a warning if dispose was skipped
  • Filtering handled by observers on main logger (Console, File, Sentry, etc.), not by the provider
0
likes
160
points
274
downloads

Publisher

verified publisherkrajna.dev

Weekly Downloads

Isolate logging integration for FlexLogger - enables logging from Dart isolates to the main isolate logger.

Homepage
Repository (GitLab)
View/report issues

Topics

#logging #isolate #concurrency #dart

Documentation

API reference

License

MIT (license)

Dependencies

flex_logger, flutter

More

Packages that depend on flex_logger_isolate