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 log:tail --env production
2026-09-20 14:30:01 [info] GET /api/users 200 (42ms)
2026-09-20 14:30:02 [info] POST /api/orders 201 (128ms)
2026-09-20 14:30:03 [warning] Cache miss for key: user:42:profile
2026-09-20 14:30:05 [error] SQLSTATE[HY000]: Connection refused

Logs stream in real-time until you press Ctrl+C.

Filter logs by level, time range, or search text:

Terminal window
# Only errors and above
ske log:tail --env production --level error
# Logs from the last hour
ske log:tail --env production --since 1h
# Search for a specific request ID
ske log:tail --env production --filter "req-abc123"

Your application writes to stderr, which is captured by the cloud provider’s logging service:

Provider Service Retention
AWS CloudWatch Logs Configurable (default 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 IDX-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, use --json to get structured log output:

Terminal window
ske log:tail --env production --json