Logs
SKE streams application logs from your cloud provider’s logging service — CloudWatch on AWS, Cloud Logging on GCP.
Reading logs
Section titled “Reading logs”ske logs production14:30:05.214 ERROR SQLSTATE[HY000] [2002] Connection refused PDOException: SQLSTATE[HY000] [2002] Connection refused at app/Http/Controllers/OrderController.php:4214:30:03.871 WARNING Cache miss for key: user:42:profile14:30:02.102 INFO POST /api/orders 201ske logs shows the last hour of the linked environment’s logs (or the one named, or --env), newest first: one line per entry with its time, level and message, and an exception’s class, message and first application frames under it. The platform’s routine lines are left out unless --platform is given.
To keep printing new lines as they arrive, like tail -f, add -f. The range is then printed oldest first, and new lines at the bottom until Ctrl-C:
ske logs production -fThe dashboard’s Logs tab on the environment shows the same logs.
Filtering
Section titled “Filtering”# Only errors and worseske logs production --level error
# The last 30 minutes, or since a dateske logs production --since 30mske logs production --since 2026-09-20T14:00:00Z
# Entries matching a CloudWatch filter patternske logs production --search '"req-abc123"'
# A queue worker's logs instead of the web function'sske logs production --function queue:emails| Flag | Description | Default |
|---|---|---|
--level |
Show only this level or worse: debug, info, notice, warning, error, critical |
All |
--since |
Start of the range: a duration (15m, 1h, 7d) or an ISO 8601 date |
1h |
--search |
CloudWatch filter pattern to match; quote text with spaces or symbols | None |
--function |
Function to read: http, cli or queue:<name> |
http |
--limit |
Number of lines to show (at most 500) | 100 |
--platform |
Include the platform’s routine lines | Off |
-f, --follow |
Keep printing new lines as they arrive | Off |
Log sources
Section titled “Log sources”Your application writes to stderr, which is captured by the cloud provider’s logging service:
| Provider | Service | Retention |
|---|---|---|
| AWS | CloudWatch Logs | 30 days |
| GCP | Cloud Logging | 30 days |
SKE configures the Laravel log channel to stderr by default, so all Log::info(), Log::error(), etc. calls are captured automatically.
Structured logs
Section titled “Structured logs”Logs include metadata from the SKE adapter:
- Request ID —
X-Request-Idheader added to every proxied request, useful for correlating logs across services - Source — whether the log came from a web request, queue job, scheduled task, or CLI command
- Duration — request processing time
JSON output
Section titled “JSON output”For pipeline integrations, --json prints the entries as the API returns them: a JSON array, newest first, or with --follow one JSON object per line, oldest first.
ske logs production --json