Technical Documentation: Settings - System Logs
Architecture


This screen provides a virtualized rolling-window view into the robot's standard system logs (Syslog) and custom ROS logs, retrieved via the LogService.
Technical Details
- File Path: lib/screens/settings_screen.dart (Logs Tab)
- Data Source: GET /api/system/logs?level=...&search=...
- Backing Storage: Uses a rolling file appender and a backend SQL indexer for fast searching.
Implementation Details
- ListView.builder: Uses a virtualized list to efficiently render thousands of log lines without consuming excessive memory.
- Color Coding:
- ERROR: Red Background.
- WARN: Yellow/Amber Text.
- DEBUG: Grey/Muted Text.
- WebSocket Streaming: For "Live Mode," the UI subscribes to the /logs Socket.IO channel to receive immediate push-updates.
Log Format
Each entry typically includes:
- timestamp: RFC3339 format.
- component: The source (e.g., Nav2_Planner, Main_Motor).
- level: Integer mapping to severity.
- message: Detailed text string.