English | 中文 | Deutsch | Português | 日本語 | 한국어
UME Kit Monitor is a Flutter debugging toolkit that provides network request logging, console output, page tracking and more debugging features. It integrates with flutter_ume_plus to provide an easy-to-use debugging interface.
- Add dependencies to
pubspec.yaml:
dependencies: ume_kit_monitor: ^2.0.5 dev_dependencies: flutter_ume_plus: ^4.0.0 flutter_ume_kit_ui_plus: ^4.0.0 flutter_ume_kit_device_plus: ^4.0.0 flutter_ume_kit_perf_plus: ^4.0.0 flutter_ume_kit_show_code_plus: ^4.0.0 flutter_ume_kit_console_plus: ^4.0.0- Register plugins in
main.dart:
void main() { PluginManager.instance ..register(const MonitorPlugin()) ..register(const MonitorActionsPlugin()); runApp(const UMEWidget( enable: true, child: MyApp() )); }- Initialize Monitor in your app:
void initState() { super.initState(); Monitor.init( context, actions: [ MonitorActionWidget( title: "Debug", onTap: () { /* ... */ } ), // Add more action buttons... ], ); }- Console Logging
// Output logs to console panel Monitor.instance.putsConsole(["Log message"]); - Network Request Logging
- Automatically records network requests in curl format for easy debugging
- View and copy curl commands from the Curl panel
- JSON Response Viewer
// Log and view JSON responses with collapsible tree view Monitor.instance.put('Response', 'api_name\n$jsonString');- Page Tracking
// Automatically track current page/route Monitor.instance.putPage("CurrentPage");- Custom Tag Monitoring
// Create custom monitoring panels Monitor.instance.put('CustomTag', 'Custom debug info');- GetX Lifecycle Monitoring
- Automatically tracks GetX widget lifecycles when enabled
- Monitor Class
// Initialization Monitor.init(context, actions: [...]); // Core logging methods Monitor.instance.put(String tag, String content) Monitor.instance.puts(String tag, List<String> contents) Monitor.instance.putsConsole(List<String> contents) Monitor.instance.putPage(String page) Monitor.instance.putCurl(String curl) // Clear logs Monitor.instance.clear(String tag)- MonitorActionWidget
MonitorActionWidget({ required String title, required VoidCallback onTap, })void main() { PluginManager.instance ..register(const MonitorPlugin()) ..register(const MonitorActionsPlugin()); runApp(const UMEWidget( enable: true, child: MyApp() )); } class _MyHomePageState extends State<MyHomePage> { @override void initState() { super.initState(); // Initialize monitor Monitor.init( context, actions: [ MonitorActionWidget( title: "Debug", onTap: () { /* ... */ } ), ], ); // Log some data Monitor.instance.putsConsole(["App started"]); Monitor.instance.put('CustomTag', 'Debug info'); Monitor.instance.putPage('HomePage'); } }- Monitor is disabled by default in release builds
- Maximum log entries per tag is limited to 20
- JSON responses are automatically formatted and collapsible
- Network requests containing "ac=last_msg" are filtered out