Skip to main content
GET
/
logs
curl "https://trio.machinefi.com/logs?limit=50"
{
  "total_in_buffer": 127,
  "returned": 5,
  "logs": [
    {
      "time": "2024-01-26 10:30:00,123",
      "level": "INFO",
      "message": "[JOB:a1b2c3d4] Starting live monitor job for https://youtube.com/watch?v=abc123"
    },
    {
      "time": "2024-01-26 10:30:01,456",
      "level": "INFO",
      "message": "[JOB:a1b2c3d4] Sent 'started' webhook"
    },
    {
      "time": "2024-01-26 10:30:15,789",
      "level": "INFO",
      "message": "[JOB:a1b2c3d4] Analyzing frame with gemini-2.5-flash..."
    },
    {
      "time": "2024-01-26 10:30:17,012",
      "level": "INFO",
      "message": "[JOB:a1b2c3d4] Analysis result: triggered=true, explanation=Yes, several people visible"
    },
    {
      "time": "2024-01-26 10:30:17,345",
      "level": "INFO",
      "message": "[JOB:a1b2c3d4] TRIGGER FIRED! Sending webhook..."
    }
  ]
}

Overview

Retrieve recent server logs for debugging jobs and troubleshooting issues. The server maintains the last 500 log entries in memory.

Request

level
string
Filter by log level: DEBUG, INFO, WARNING, ERROR. If not provided, returns all levels.
limit
integer
default:"100"
Maximum number of logs to return. Maximum 500.

Response

total_in_buffer
integer
Total number of logs stored in memory
returned
integer
Number of logs returned in this response
logs
array
Array of log entries with:
  • time: Timestamp in format “YYYY-MM-DD HH:MM:SS,mmm”
  • level: Log level (DEBUG, INFO, WARNING, ERROR)
  • message: Log message with job ID prefix if applicable
curl "https://trio.machinefi.com/logs?limit=50"
{
  "total_in_buffer": 127,
  "returned": 5,
  "logs": [
    {
      "time": "2024-01-26 10:30:00,123",
      "level": "INFO",
      "message": "[JOB:a1b2c3d4] Starting live monitor job for https://youtube.com/watch?v=abc123"
    },
    {
      "time": "2024-01-26 10:30:01,456",
      "level": "INFO",
      "message": "[JOB:a1b2c3d4] Sent 'started' webhook"
    },
    {
      "time": "2024-01-26 10:30:15,789",
      "level": "INFO",
      "message": "[JOB:a1b2c3d4] Analyzing frame with gemini-2.5-flash..."
    },
    {
      "time": "2024-01-26 10:30:17,012",
      "level": "INFO",
      "message": "[JOB:a1b2c3d4] Analysis result: triggered=true, explanation=Yes, several people visible"
    },
    {
      "time": "2024-01-26 10:30:17,345",
      "level": "INFO",
      "message": "[JOB:a1b2c3d4] TRIGGER FIRED! Sending webhook..."
    }
  ]
}

Log Format

All logs include timestamps and levels. Job logs include a 8-character job ID prefix:
[JOB:a1b2c3d4] Starting live monitor job for https://youtube.com/watch?v=abc123
[JOB:a1b2c3d4] Frame captured successfully
[JOB:a1b2c3d4] Frame skipped by prefilter (total skipped: 15)
[JOB:a1b2c3d4] Analyzing frame with gemini-2.5-flash...
[JOB:a1b2c3d4] TRIGGER FIRED! Sending webhook...
[JOB:a1b2c3d4] Job stopped

Important Notes

  • Logs are stored in memory and cleared on server restart
  • Maximum 500 logs stored (oldest logs are dropped)
  • The first 8 characters of job IDs are shown for brevity
  • For production, consider external logging (ELK, Datadog, CloudWatch)