Files
Charon/docs/features/logs.md
2026-03-04 18:34:49 +00:00

75 lines
2.5 KiB
Markdown

---
title: Real-Time Logs
description: Watch requests flow through your proxy in real-time
---
# Real-Time Logs
Watch requests flow through your proxy in real-time. Filter by domain, status code, or time range to troubleshoot issues quickly. All the visibility you need without diving into container logs.
## Overview
Charon provides real-time log streaming via WebSocket, giving you instant visibility into all proxy traffic and security events. The logging system includes two main views:
- **Access Logs**: All HTTP requests flowing through Caddy
- **Security Logs**: Cerberus Dashboard showing CrowdSec decisions and WAF events
Logs stream directly to your browser with minimal latency, eliminating the need to SSH into containers or parse log files manually.
## Why Use This
- **Instant Troubleshooting**: See requests as they happen to diagnose issues in real-time
- **Security Monitoring**: Watch for blocked threats and suspicious activity
- **No CLI Required**: Everything accessible through the web interface
- **Persistent Connection**: WebSocket keeps the stream open without polling
## Log Viewer Controls
The log viewer provides intuitive controls for managing the log stream:
| Control | Function |
|---------|----------|
| **Pause/Resume** | Temporarily stop the stream to examine specific entries |
| **Clear** | Remove all displayed logs (doesn't affect server logs) |
| **Auto-scroll** | Automatically scroll to newest entries (toggle on/off) |
## Filtering Options
Filter logs to focus on what matters:
- **Level**: Filter by severity (info, warning, error)
- **Source**: Filter by service (caddy, crowdsec, cerberus)
- **Text Search**: Free-text search across all log fields
- **Time Range**: View logs from specific time periods
### Server-Side Query Parameters
For advanced filtering, use query parameters when connecting:
```text
/api/logs/stream?level=error&source=crowdsec&limit=1000
```
## WebSocket Connection
The log viewer displays connection status in the header:
- **Connected**: Green indicator, logs streaming
- **Reconnecting**: Yellow indicator, automatic retry in progress
- **Disconnected**: Red indicator, manual reconnect available
### Troubleshooting Connection Issues
If the WebSocket disconnects frequently:
1. Check browser console for errors
2. Verify no proxy is blocking WebSocket upgrades
3. Ensure the Charon container has sufficient resources
4. Check for network timeouts on long-idle connections
## Related
- [WebSocket Support](websocket.md)
- [CrowdSec Integration](crowdsec.md)
- [Back to Features](../features.md)