Skip to main content
View runtime logs for an app. Filter by count, time range, severity, service, or text. Stream in real-time with --live.
floo logs --app my-app

Flags

FlagDescriptionDefault
--app APPApp name or UUID (reads from config if omitted)
--tail N / -t NNumber of log lines100
--since SINCE / -s SINCETime filter (1h, 30m, 2d, or ISO timestamp)
--error / -eErrors only (shorthand for --severity ERROR)
--severity LEVELMinimum severity: DEBUG, INFO, WARNING, ERROR, CRITICAL
--services SVCFilter to specific services (repeatable)
--search TEXTFilter log messages by text (case-insensitive)
--live / -fStream logs in real-time (poll every 2s). Cannot combine with --output.
--output PATH / -o PATHWrite logs to file

Examples

floo logs --app my-app                          # Last 100 lines
floo logs --app my-app --tail 20               # Last 20 lines
floo logs --app my-app --since 1h              # Last hour
floo logs --app my-app --error                 # Errors only
floo logs --app my-app --severity WARNING      # Warnings and above
floo logs --app my-app --services api          # Only the "api" service
floo logs --app my-app --search "timeout"      # Text search
floo logs --app my-app --live                  # Stream in real-time
floo logs --app my-app --output errors.json --json --error   # Save errors to file

JSON output

{
  "success": true,
  "data": {
    "app_name": "my-app",
    "logs": [
      {
        "timestamp": "2026-02-18T10:30:00Z",
        "severity": "ERROR",
        "message": "Connection refused: postgres://..."
      },
      {
        "timestamp": "2026-02-18T10:30:01Z",
        "severity": "INFO",
        "message": "Server started on port 3000"
      }
    ]
  }
}

Agent debugging workflow

# Get errors
floo logs --app my-app --error --json 2>/dev/null | jq '.data.logs[0].message'

# Fix the issue
floo env set DATABASE_URL=postgres://correct-url --app my-app --json

# Redeploy
floo deploy --app my-app --json

Errors

CodeMeaning
NOT_AUTHENTICATEDRun floo auth login first
APP_NOT_FOUNDNo app with that name or ID
PARSE_ERRORInvalid --since format
FILE_ERRORCannot write to --output path