English | 中文 | Deutsch | Português | 日本語 | 한국어
UME Kit Monitor ist ein Flutter-Debugging-Toolkit, das Netzwerkanfragen-Protokollierung, Konsolenausgabe, Seiten-Tracking und weitere Debugging-Funktionen bietet. Es integriert sich mit flutter_ume_plus, um eine benutzerfreundliche Debugging-Oberfläche bereitzustellen.
- Fügen Sie die Abhängigkeiten in
pubspec.yamlhinzu:
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- Registrieren Sie die Plugins in
main.dart:
void main() {
PluginManager.instance
..register(const MonitorPlugin())
..register(const MonitorActionsPlugin());
runApp(const UMEWidget(
enable: true,
child: MyApp()
));
}- Initialisieren Sie Monitor in Ihrer App:
void initState() {
super.initState();
Monitor.init(
context,
actions: [
MonitorActionWidget(
title: "Debug",
onTap: () { /* ... */ }
),
// Fügen Sie weitere Aktionsschaltflächen hinzu...
],
);
}- Konsolen-Protokollierung
// Protokolle an das Konsolenpanel ausgeben
Monitor.instance.putsConsole(["Protokollnachricht"]); - Netzwerkanfragen-Protokollierung
- Zeichnet automatisch Netzwerkanfragen im curl-Format für einfaches Debugging auf
- Anzeigen und Kopieren von curl-Befehlen aus dem Curl-Panel
- JSON-Antwort-Viewer
// Protokollieren und Anzeigen von JSON-Antworten mit ausklappbarer Baumansicht
Monitor.instance.put('Response', 'api_name\n$jsonString');- Seiten-Tracking
// Automatisches Tracking der aktuellen Seite/Route
Monitor.instance.putPage("AktuelleSeite");- Benutzerdefinierte Tag-Überwachung
// Erstellen Sie benutzerdefinierte Überwachungspanels
Monitor.instance.put('BenutzerdefiniertesTag', 'Debug-Info');- GetX Lebenszyklus-Überwachung
- Verfolgt automatisch GetX-Widget-Lebenszyklen, wenn aktiviert
- Monitor-Klasse
// Initialisierung
Monitor.init(context, actions: [...]);
// Kern-Protokollierungsmethoden
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)
// Protokolle löschen
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();
// Monitor initialisieren
Monitor.init(
context,
actions: [
MonitorActionWidget(
title: "Debug",
onTap: () { /* ... */ }
),
],
);
// Daten protokollieren
Monitor.instance.putsConsole(["App gestartet"]);
Monitor.instance.put('BenutzerdefiniertesTag', 'Debug-Info');
Monitor.instance.putPage('Startseite');
}
}- Monitor ist standardmäßig in Release-Builds deaktiviert
- Maximale Protokolleinträge pro Tag sind auf 20 begrenzt
- JSON-Antworten werden automatisch formatiert und sind zusammenklappbar
- Netzwerkanfragen, die "ac=last_msg" enthalten, werden gefiltert