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

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

simple_logger_overlay Pub Version GitHub Profile LinkedIn Profile #

A lightweight, Dart 3-compatible Flutter logging package with a draggable in-app log viewer overlay β€” inspired by let_log, rebuilt for modern apps.
Built with πŸ’™ by Saumya Macwan.


✨ Features #

  • 🧠 Non-blocking: Log I/O runs in a background isolate
  • 🌈 Material 3 overlay, dark/light theme aware
  • πŸ“„ Pretty-printed JSON views for network logs
  • 🌐 Dio interceptor for network logging with status coloring
  • πŸ’¬ Integrates with BLoC, Riverpod, GetX, and logger
  • πŸ” Filter, sort, search logs
  • πŸ“€ Export logs as .json, or copy to clipboard
  • 🧾 Detailed log view on card tap
  • πŸš€ Shake-to-open overlay (debug-only)
  • 🐞 Draggable floating debug button
  • πŸ”Œ Optional: GoRouterObserver, AppLifecycleObserver
  • πŸ–₯️ Emoji + color-coded console logging (with toggle)
  • 🧰 Simple static API: SimpleLoggerOverlay.log(...)

πŸ“± Screenshots #

Image 1 Image 2 Image 1 Image 2 Image 1 Image 2 Image 2 Image 2

πŸš€ Getting Started #

import 'package:simple_logger_overlay/simple_logger_overlay.dart';  
  
@override  
Widget build(BuildContext context) {  
 return FloatingActionButton( onPressed: () { SimpleLoggerOverlay.show(context); }, child: const Icon(Icons.file_present), );}  

πŸͺ΅ Log from Anywhere #

Log directly with the static API:

SimpleLoggerOverlay.log("Something happened", level: LogLevel.info, tag: 'HomeScreen');  

🧩 Integrations #

🧠 BLoC

import 'package:simple_logger_overlay/core/bloc_logger_observer.dart';  
  
Future<void> main() async {  
 WidgetsFlutterBinding.ensureInitialized(); Bloc.observer = SimpleOverlayBlocObserverLogger();}  

🌱 Riverpod

import 'package:simple_logger_overlay/core/riverpod_logger.dart';  
  
void main() {  
 runApp( ProviderScope( observers: [SimpleOverlayLoggerRiverpodObserver()], child: const MyApp(), ), );}  

⚑ GetX

import 'package:simple_logger_overlay/core/getx_logger_patch.dart';  
  
void main() {  
 simpleOverlayGetXLogObserver();}  

🌐 Dio Interceptor

import 'package:dio/dio.dart';  
import 'package:simple_logger_overlay/core/network_logger_interceptor.dart';  
  
final dio = Dio()  
 ..interceptors.add(SimpleOverlayNetworkLoggerInterceptor());  

🧭 GoRouter

MaterialApp.router(  
 routerDelegate: GoRouter( observers: [SimpleOverlayGoRouterObserver()], ... ).routerDelegate,);  

πŸ“± App Lifecycle

WidgetsBinding.instance.addObserver(SimpleOverlayAppLifecycleObserver());  

🐞 Debug Floating Button #

Stack(  
 children: [ child!, const SimpleOverlayDraggableDebuggerFAB(navigatorKey: rootNavigatorKey), ],);  

πŸ’» Console Logging #

Logs are also printed in your terminal with emojis and color by default.

[2025-06-24T19:15:01.000Z] πŸ” [DEBUG] [LoginBloc] Event dispatched[2025-06-24T19:15:02.000Z] πŸ”₯ [ERROR] [LoginBloc] Invalid password  

Disable if needed:

SimpleOverlayLogStorageService.enableConsole = false;  

πŸ“¦ Export Logs #

Use the export button in the top-right corner of the overlay to:

  • πŸ“€ Export logs as .json
  • πŸ“‹ Copy current log to clipboard

πŸ› οΈ License #

MIT Β© 2025 Saumya Macwan GitHub Profile LinkedIn Profile

2
likes
0
points
80
downloads

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

unknown (license)

Dependencies

dio, flutter, flutter_bloc, flutter_riverpod, get, go_router, intl, path_provider, shake, share_plus

More

Packages that depend on simple_logger_overlay