simple_logger_overlay 0.2.2 copy "simple_logger_overlay: ^0.2.2" to clipboard
simple_logger_overlay: ^0.2.2 copied to clipboard

A simple, Dart 3+ compatible Flutter logging plugin with an in-app draggable overlay, log levels, and Dio support

Changelog #

0.2.2 #

  • ๐Ÿง  Minor documentation update.

0.2.1 #

๐Ÿ› Bug fixes #

  • Riverpod 3.x compatibility โ€” SimpleOverlayLoggerRiverpodObserver migrated to flutter_riverpod ^3.x API:
    • Class declared base (required because ProviderObserver is now base)
    • didUpdateProvider / didDisposeProvider signatures updated to accept ProviderObserverContext instead of ProviderBase + ProviderContainer
    • Added dart:async import for unawaited; removed unused meta import

๐Ÿ”ง Internal #

  • Applied dart format across all core services and data models (no logic changes)
  • Fixed unnecessary multi-underscore wildcard params (__ / ___ โ†’ _) per unnecessary_underscores lint rule

0.2.0 #

  • ๐Ÿ› Fix OpenContainer deactivated-context crash: pre-compute all Theme.of values before any closure โ€” zero Theme.of calls inside openBuilder or closedBuilder
  • ๐Ÿ”ง CI: pin Flutter version to 3.35.6 in publish workflow for reproducible builds
  • ๐Ÿ”ง example: remove build_verify dev dependency to resolve go_router_builder / analyzer version conflict

โœจ Material You Expressive UI #

  • Container transform โ€” log card โ†’ detail page uses OpenContainer (fade, 450 ms) for a seamless surface expansion
  • M3 color system โ€” all hard-coded colors replaced with semantic tokens (primaryContainer, errorContainer, surfaceContainerHighest, etc.); adapts automatically to light / dark
  • M3 easing โ€” list entry animations use emphasized-decelerate curve Cubic(0.05, 0.7, 0.1, 1.0) at 350 ms
  • Shared-axis transition โ€” vertical slide for overlay open / close
  • FAB spring snap โ€” spring physics on drag release; scale press feedback; pulse on new logs

๐ŸŽจ Theming #

  • SimpleLoggerOverlayConfig โ€” new singleton with configure(seedColor:) API; overlay builds its own ThemeData via ColorScheme.fromSeed; default seed: sage-mint 0xFF52B788
  • Dynamic Color โ€” configure(lightScheme:, darkScheme:, clearSchemes:) accepts a full ColorScheme for Android 12+ wallpaper-derived colors
  • Typography โ€” Inter (UI text) + JetBrains Mono (JSON / code) via google_fonts

๐ŸŒ Network logs #

  • HTML response bodies rendered inline via flutter_html
  • Auto-detection: JSON (pretty-printed) ยท HTML (rendered) ยท plain text
  • Per-field copy buttons on every section in the detail view
  • _bodyToString() in interceptor uses jsonEncode to avoid Dart Map literal output

๐Ÿ” Search & filter #

  • M3 SearchBar with inline filter + sort icon buttons
  • Filter sheet โ€” level (Debug / Info / Error) and network status (Success / Error)
  • Sort always applied (newest / oldest first) regardless of filter state

๐ŸŒ Localization #

  • SimpleOverlayLocalizations delegate โ€” overlay picks up host app locale
  • shouldReload fixed to true so strings update when locale changes

๐Ÿ› Bug fixes #

  • OpenContainer deactivated-context crash: pre-compute all Theme.of values before any closure; zero Theme.of calls inside openBuilder or closedBuilder
  • LateInitializationError on second FAB drag: animation fields made nullable; listener de-registered before re-add
  • FormatException on JSONL read: per-line try/catch skips malformed / partial lines
  • Sort not applying without active filter: unified display getters always apply both filter and sort

0.1.9 #

  • go_router causing issue on version 15.3.2, retracted to 15.1.3

0.1.8 #

  • โœณ๏ธ Adjusted intl package version to >=0.19.0 <0.21.0, for backward compatibility

0.1.7 #

  • ๐Ÿž The formatTimestampForUTC function has been updated to correctly convert the input DateTime to UTC before formatting. This ensures that the output string accurately represents the timestamp in UTC, as intended.

0.1.6 #

  • ๐Ÿง  Minor name refactorings for classes for uniformity.

  • ๐Ÿž Added navigator support to shake controller for better accessibility

0.1.5 #

  • ๐ŸŽจ Code style improvements:
    • Applied dart format . to ensure consistent code formatting across the codebase

0.1.4 #

  • โœณ๏ธ Added pretty terminal logging with ANSI colors + emoji:

    • ๐Ÿ” DEBUG, โ„น๏ธ INFO, ๐ŸŸก WARN, ๐Ÿ”ฅ ERROR
    • Implemented via internal printStyled(...) formatter
  • โš™๏ธ Introduced global console logging toggle:

    • LogStorageService.enableConsole = false;
  • ๐Ÿง  Refactored LogStorageService to singleton pattern for optimized reuse

  • โœ… Added developer-friendly static logging API:

    SimpleLoggerOverlay.log('Something happened', level: LogLevel.info);
    
  • ๐ŸŒ Added navigation + app lifecycle observers:

    • SimpleOverlayGoRouterObserver

    • SimpleOverlayAppLifecycleObserver

  • ๐Ÿž Added DraggableDebuggerFAB:

    • Floating debug-only access point to the overlay

    • Can be placed via Stack() and moved around freely

0.1.3 #

โœจ New Features #

  • ๐Ÿ“ Added "Copy to Clipboard" button on log detail pages
    • Copies full log as formatted JSON
    • Available via AppBar action for both simple and network logs

๐Ÿ”ง Improvements #

  • โœจ Log detail now shows clean, shareable JSON
  • ๐Ÿ“‹ SnackBar confirmation after copying log

0.1.2 #

โšก Performance & Stability #

  • โœ… Isolate-based logging: Moved all file read/write/purge operations to background isolates
    • Prevents UI lag during high-frequency logging
    • Main thread stays unblocked
  • โœ… Safe platform channel usage:
    • All path_provider calls now run on the main isolate
    • Eliminated BackgroundIsolateBinaryMessenger crash

๐Ÿงผ Log Management #

  • ๐Ÿงน Auto-purges logs older than 2 days using isolates
  • ๐Ÿงพ Pretty-printed JSON body in network log detail page

๐ŸŽจ UI Improvements #

  • ๐Ÿ” Replaced log level text (DEBUG / INFO / ERROR) with intuitive icons
    • ๐Ÿž Debug โ†’ bug_report
    • โ„น๏ธ Info โ†’ info_outline
    • โ— Error โ†’ error_outline

0.1.1 #

  • ๐Ÿง  Major performance enhancements:
    • All log read/write/purge now happens in isolates to prevent UI jank
    • Log overlay is now safe for high-frequency logging in production-grade apps
  • ๐ŸŽฏ UI update:
    • Replaced log level text (DEBUG, INFO, ERROR) with intuitive icons
  • ๐Ÿงพ Log detail page now pretty-prints JSON request/response bodies
  • ๐Ÿ›‘ Auto-purge logs older than 2 days in background

0.1.0 #

  • Initial release of simple_logger_overlay
  • ๐ŸŒˆ Material 3 overlay for logs and network traffic
  • ๐Ÿš€ Shake-to-open debug tool
  • ๐Ÿ” Filter, sort, search support
  • ๐Ÿ“ฆ Integration with:
    • logger package
    • BLoC (BlocObserver)
    • Riverpod (ProviderObserver)
    • GetX (via Get.config)
  • ๐ŸŒ Dio interceptor for capturing network logs
  • ๐Ÿงพ Log detail views
  • ๐Ÿ“ค Export logs as JSON via share_plus

1.0.0 #

  • Initial release
  • LoggerCore for log levels
  • LoggerOverlay for UI
  • Dio interceptor support
3
likes
160
points
106
downloads

Documentation

API reference

Publisher

verified publishersammacwan.in

Weekly Downloads

A simple, Dart 3+ compatible Flutter logging plugin with an in-app draggable overlay, log levels, and Dio support

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

animations, dio, flutter, flutter_bloc, flutter_html, flutter_riverpod, get, go_router, google_fonts, intl, path_provider, shake, share_plus

More

Packages that depend on simple_logger_overlay