flutter_monitoring_sdk 0.0.5
flutter_monitoring_sdk: ^0.0.5 copied to clipboard
A lightweight Flutter monitoring SDK with logging, network monitoring, navigation tracking, and log viewer.
๐ฆ Flutter Monitoring SDK #
A lightweight Flutter SDK for real-time application monitoring, including logging, network tracking, navigation monitoring, crash reporting, session tracking, and an in-app debugging dashboard.
โจ Features #
- ๐ฑ Logging (Verbose, Debug, Info, Warning, Error, Fatal)
- ๐ Network monitoring (Dio & HTTP)
- ๐งญ Navigation tracking
- ๐ฅ Crash reporting
- โฑ Session tracking
- ๐ Advanced search & filter logs
- ๐ In-app monitoring dashboard
- ๐ JSON log inspector
- โก Zero backend required
- ๐ Works on Flutter Web + Mobile
๐ธ Screenshots #
๐ Getting Started #
1๏ธโฃ Add Dependency #
dependencies:
flutter_monitoring_sdk: ^0.0.5
โ๏ธ Initialization #
import 'package:flutter/material.dart';
import 'package:flutter_monitoring_sdk/flutter_monitoring_sdk.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
FlutterMonitoring.initialize();
runApp(const MyApp());
}
Navigation Tracking #
import 'package:flutter/material.dart';
MaterialApp(
navigatorObservers: [
FlutterMonitoring.navigatorObserver,
],
home: const HomePage(),
);
Navigator.push(
context,
MaterialPageRoute(
builder: (_) => const SecondPage(),
),
);
๐ Network Monitoring (Dio) #
import 'package:flutter/material.dart';
final dio = Dio();
dio.interceptors.add(
MonitoringInterceptor(),
);
await dio.get(
"https://jsonplaceholder.typicode.com/todos/1",
);
๐ HTTP Monitoring #
import 'package:flutter/material.dart';
final client = MonitoringHttpClient();
final response = await client.get(
Uri.parse("https://jsonplaceholder.typicode.com/todos/1"),
);
๐ Logging #
import 'package:flutter/material.dart';
Logger.v("Verbose log");
Logger.d("Debug log");
Logger.i("Info log");
Logger.w("Warning log");
Logger.e("Error log");
Logger.f("Fatal log");
๐ฑ Monitoring Dashboard #
๐ Floating Button #
import 'package:flutter/material.dart';
Scaffold(
floatingActionButton: FlutterMonitoring.fab(),
);
๐ฅ Full Screen Dashboard #
import 'package:flutter/material.dart';
FlutterMonitoring.show(context);
๐ฅ Crash Testing #
import 'package:flutter/material.dart';
throw Exception("Test crash");
๐งช Complete Example App #
import 'package:flutter/material.dart';
import 'package:flutter_monitoring_sdk/flutter_monitoring_sdk.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
FlutterMonitoring.initialize();
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
navigatorObservers: [
FlutterMonitoring.navigatorObserver,
],
home: const HomePage(),
);
}
}
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text("Flutter Monitoring")),
floatingActionButton: FlutterMonitoring.fab(),
body: Center(
child: ElevatedButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (_) => const SecondPage(),
),
);
},
child: const Text("Go Next Page"),
),
),
);
}
}
class SecondPage extends StatelessWidget {
const SecondPage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text("Second Page")),
body: Center(
child: ElevatedButton(
onPressed: () {
FlutterMonitoring.show(context);
},
child: const Text("Open Monitoring Dashboard"),
),
),
);
}
}
๐ What You Get Automatically #
- ๐ฑ App lifecycle tracking
- ๐ API monitoring (Dio + HTTP)
- ๐งญ Navigation tracking
- ๐ฅ Crash reporting
- โฑ Session tracking
- ๐ Search & filter logs
- ๐ In-app dashboard UI
Performance #
- ๐ No backend required
- ๐ง In-memory optimized storage
- โก Lightweight & fast
- ๐ Web + Mobile supported