Logging
How Logging Works
Convox automatically captures all output from your application's stdout and stderr streams. Logs from all processes across all services are aggregated and available through the CLI and Console.
In addition to application output, Convox also captures:
- State changes triggered by deployments
- Health check failures
Every log line is prefixed with a timestamp and a source identifier (e.g., service/web/012345689), making it easy to trace activity across services and processes.
Viewing Logs
You can view logs for any application using the convox logs command. By default, this streams real-time logs from all services in the app.
Basic Usage
$ convox logs -a myapp
2026-01-15T14:30:00Z service/web/012345689 starting on port 3000
2026-01-15T14:30:01Z service/web/012345689 GET / 200
2026-01-15T14:30:02Z service/web/012345689 GET /other 404
Filtering by Service
Use the --service (or -s) flag to show logs from a specific service only:
$ convox logs -a myapp --service web
Filtering by Content
Use the --filter flag to search for log lines containing a specific string:
$ convox logs -a myapp --filter "GET /api"
Setting a Time Window
Use the --since flag to limit logs to a specific time window. Values can be expressed in minutes (m), hours (h), or days (d):
$ convox logs -a myapp --since 1h
Viewing Historical Logs
By default, convox logs streams logs in real-time. Use the --no-follow flag to print historical logs and exit instead of continuing to stream:
$ convox logs -a myapp --since 20m --no-follow
2026-01-15T14:30:00Z service/web/012345689 starting on port 3000
2026-01-15T14:30:01Z service/web/012345689 GET / 200
2026-01-15T14:30:02Z service/web/012345689 GET /other 404
Combining Flags
Flags can be combined for more targeted queries:
$ convox logs -a myapp --service web --filter "ERROR" --since 2h --no-follow
Log Forwarding
Convox supports forwarding logs to external log aggregation services via syslog. To enable log forwarding, configure the syslog rack parameter with a syslog endpoint URL:
$ convox rack params set syslog=tcp+tls://logs.example.com:1234
This will forward all application and system logs to the specified syslog destination. See the syslog rack parameter documentation for full configuration details.
Log Retention
Convox streams logs in real-time and does not retain historical logs indefinitely. For long-term log storage and analysis, you should forward logs to an external service using the syslog integration described above, or use the built-in Monitoring and Alerting features.
See Also
- Monitoring and Alerting for setting up monitoring
- Datadog Integration for forwarding logs to Datadog