Skip to content

Logs

SKE streams application logs from your cloud provider’s logging service — CloudWatch on AWS, Cloud Logging on GCP.

Terminal window
ske logs production
14:30:05.214 ERROR SQLSTATE[HY000] [2002] Connection refused
PDOException: SQLSTATE[HY000] [2002] Connection refused
at app/Http/Controllers/OrderController.php:42
14:30:03.871 WARNING Cache miss for key: user:42:profile
14:30:02.102 INFO POST /api/orders 201

ske 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:

Terminal window
ske logs production -f

The dashboard’s Logs tab on the environment shows the same logs.

Terminal window
# Only errors and worse
ske logs production --level error
# The last 30 minutes, or since a date
ske logs production --since 30m
ske logs production --since 2026-09-20T14:00:00Z
# Entries matching a CloudWatch filter pattern
ske logs production --search '"req-abc123"'
# A queue worker's logs instead of the web function's
ske 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

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.

Logs include metadata from the SKE adapter:

  • Request ID — X-Request-Id header 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

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.

Terminal window
ske logs production --json