Learning objective: Master the Debug Console to effectively monitor, filter, and analyze real-time system messages for troubleshooting and system understanding.
Time required: 25-30 minutes
Prerequisites:
- Completed the Getting Started Tutorial
- Access to a running PepperDash Essentials system
- Basic familiarity with the web app interface
- Advanced filtering and search techniques
- How to interpret different log levels and message types
- Using the minimum log level setting
- Managing debug sessions effectively
- Best practices for troubleshooting with the console
- Start a debug session in the Debug Console
- Observe the default log level display in the interface
- Generate various activities on your system to see different message types
Log levels you'll encounter (from most to least critical):
- Error: System failures, connection problems, critical issues
- Warning: Potential issues, deprecated features, recoverable problems
- Information: Normal operations, status changes, confirmations
- Debug: Detailed technical information for developers
- Verbose: Extremely detailed trace information
- Find the log level dropdown (shows current minimum level)
- Click it to see available options
- Try setting it to "Warning"
- Notice how fewer messages appear
- Only warnings and errors are shown
- Set it back to "Information" for normal operation
✅ Success indicator: You understand how log levels filter what messages are captured.
- Open the Devices filter dropdown
- Notice the "Global" option - this captures system-wide messages
- Check specific devices to focus on particular components
- Set a per-device minimum level: Once a device is checked, an inline level dropdown appears next to its name. Change it to
Warningto suppress that device'sInformationandDebugmessages while keeping other devices at a lower threshold - Combine multiple devices each with their own levels
Practical example:
- If one display is flooding the console with
Informationmessages, check it and set its level toWarning - Keep other devices at
Informationso you see their normal activity
- Apply a device filter (select 1-2 devices)
- Add search terms in the search box
- Observe how filters work together (AND logic — all conditions must match)
Exercise: Create a filter to show only messages from display devices containing the word "power".
Filter selections are stored in Redux state:
- Persists across navigation: Switching to Versions and back preserves your filters
- Resets on page reload: Refreshing the browser clears all filter state (along with the login session)
- Clear Filters button: Resets device selections, per-device levels, and search text in one click
Real systems generate patterns of messages. Learn to recognize them:
-
Normal startup sequence:
Information: Device [DisplayRoom1] initializing Information: Device [DisplayRoom1] connection established Information: Device [DisplayRoom1] ready -
Error patterns:
Warning: Device [DisplayRoom1] connection timeout Error: Device [DisplayRoom1] failed to respond Warning: Device [DisplayRoom1] attempting reconnection -
User interaction patterns:
Information: Button [PowerOn] pressed Information: Command sent to [DisplayRoom1]: Power On Information: Device [DisplayRoom1] power state changed: On
- Click on an interesting message to open the detail panel
- Examine the Properties section - this contains structured data
- Look for key information:
- Device identifiers
- Command parameters
- Error codes
- Timing information
Common properties you'll see:
Key: The device that generated the messageSourceContext: Which part of the code generated the messageCommandType: What type of command was executedResponseTime: How long an operation took
✅ Success indicator: You can interpret message patterns and extract detailed information from individual messages.
-
Start sessions when needed:
- Don't leave debug sessions running constantly
- They consume system resources and network bandwidth
-
Stop sessions when done:
- Click "Stop Debug Session" when finished
- The message count will stop increasing
-
Clear accumulated messages:
- Refresh the page to clear old messages
- Start fresh for new troubleshooting sessions
-
Watch the "Message Count" indicator
-
High message rates (>100 messages/second) may indicate:
- A device in an error loop
- Verbose logging that should be reduced
- A system problem requiring attention
-
Use filtering to reduce load:
- Set minimum log level to "Warning" for production monitoring
- Filter to specific devices when troubleshooting
✅ Success indicator: You understand how to manage debug sessions efficiently.
Goal: Find out why a display isn't turning on
- Filter to the display device
- Look for error or warning messages
- Search for "power" or "connection"
- Check message timestamps to see when problems started
Expected findings:
- Connection timeout errors
- Power command confirmations (or lack thereof)
- Network connectivity issues
Goal: Identify performance bottlenecks
- Set log level to "Information"
- Search for "timeout" or "delay"
- Look for repeated error patterns
- Check message frequency for problematic devices
Goal: Trace button press handling
- Filter to "Global" messages
- Search for "button" or "press"
- Look for the complete command chain:
- Button press detected
- Command sent to device
- Device response/confirmation
✅ Success indicator: You can systematically troubleshoot common system issues using the debug console.
- ✅ Start with broad filters, then narrow down
- ✅ Use appropriate log levels for your task
- ✅ Stop sessions when not actively debugging
- ✅ Look for message patterns, not just individual messages
- ✅ Use search terms related to your specific problem
- ❌ Leave debug sessions running indefinitely
- ❌ Use "Verbose" level unless absolutely necessary
- ❌ Ignore the message count - it indicates system load
- ❌ Focus only on errors - informational messages provide context
- ❌ Forget to clear filters between different troubleshooting tasks
- Timing analysis: Use message timestamps to measure response times
- Device correlation: Filter multiple related devices to see interactions
- Search operators: Use specific technical terms from error messages
- Session planning: Know what you're looking for before starting a session
You now have advanced skills in using the Debug Console:
- ✅ Understand all log levels and when to use each
- ✅ Can create sophisticated filter combinations
- ✅ Know how to interpret message patterns and details
- ✅ Can manage debug sessions efficiently
- ✅ Have practical troubleshooting experience
- Advanced device management: Try the Device Management Tutorial
- Solve specific problems: Check the How-to Guides for common issues
- Deep technical understanding: Read the Debug Console Design explanation
Not seeing expected message types?
- Your system may be configured with a higher minimum log level
- Try generating more system activity
- Check if your devices are actually connected and functioning
Too many messages to follow?
- Use more restrictive filtering
- Increase the minimum log level temporarily
- Focus on one device or message type at a time
Messages seem delayed?
- This can indicate network latency or system load
- Check your network connection
- Consider if other users are also connected
The Debug Console is your primary tool for understanding system behavior. Master it, and you'll be able to diagnose and resolve most system issues efficiently!