Features How it works Integration Docs
Login Get Started
Now with AI-powered log analysis

See your logs
before they break
your app

Observo is a self-hosted centralized logging platform that ingests, stores, and surfaces logs in real time — so you can debug faster, alert smarter, and ship with confidence.

Self-hosted
REST API
Real-time alerts
AI analysis
app.py — observo integration
import logging from observo_handler import ObservoHandler # One-time setup handler = ObservoHandler( project_id="my-app", api_key="obs_live_...", batch_size=10, flush_interval=5, ) logger = logging.getLogger("myapp") logger.addHandler(handler) # Now just use standard logging logger.info("User signed up", extra={"user_id": 42}) logger.error("Payment failed", exc_info=True)
OK 12:41:03 User signed up · user_id=42
INFO 12:41:07 Stripe webhook received · event=payment.created
ERR 12:41:09 Payment failed · CardDeclinedException
WARN 12:41:11 Retry attempt 1/3 · delay=500ms
1M+
Logs processed daily
<50ms
Ingestion latency
99.9%
Uptime SLA
5min
Time to first log

Everything you need to
understand your system

From ingestion to alerting, Observo covers the full observability lifecycle so you never miss a critical event.

Real-time Ingestion

Stream logs instantly via REST API or our Python handler. Millisecond precision timestamps, batched delivery, and zero dropped logs.

Powerful Search & Filter

Find any log in seconds. Filter by level, project, timestamp, message, or custom metadata fields. Full-text search across all logs.

Smart Alerting

Define alert rules based on log patterns, error rates, or thresholds. Get notified via email, Slack, or webhooks the moment something goes wrong.

Multi-Project Support

Organize logs across multiple projects and environments. Separate API keys per project. Keep dev, staging, and production completely isolated.

Analytics & Insights

Visualize log volume, error rates, and trends over time. Spot anomalies before users report them. Built-in dashboards, no setup needed.

AI Log Analysis

Ask questions about your logs in plain English. Our AI agent surfaces root causes, explains patterns, and suggests fixes automatically.

From zero to full observability
in four steps

Get started in minutes, not hours. No infrastructure changes required.

STEP 01
Create a Project

Sign in and create your first project. Get a unique Project ID and API key instantly.

STEP 02
Connect Your App

Install the Python handler or make a simple REST call. Works with any language or framework.

STEP 03
Monitor Live

Watch logs stream in real time from your dashboard. Search, filter, and drill down into any event.

STEP 04
Alert & Resolve

Set alert rules and get notified when errors spike. Use AI analysis to find root causes fast.

Dead simple
integration

Add Observo to any project in under 5 minutes. Works with Django, Flask, FastAPI, or plain Python — and any other language via the REST API.

Install the handler

pip install observo-handler — no config files, no agents

Grab your API key

From your project settings — regenerate any time

Start shipping logs

Use Python's standard logging module — zero lock-in

Python
Django
REST API
# Install: pip install observo-handler

import logging
from observo_handler import ObservoHandler

handler = ObservoHandler(
    project_id="your-project-id",
    api_key="obs_live_xxxxxxxxxxxx",
    observo_url="https://observo-log.vendlyghana.space/api/v1/ingest/",
)

logging.getLogger("myapp").addHandler(handler)

# That's it — use standard logging
logger = logging.getLogger("myapp")
logger.info("App started")
logger.error("Something went wrong", exc_info=True)
# settings.py

LOGGING = {
    "version": 1,
    "handlers": {
        "observo": {
            "class": "observo_handler.ObservoHandler",
            "project_id": "your-project-id",
            "api_key": "obs_live_xxxxxxxxxxxx",
            "batch_size": 10,
            "flush_interval": 5,
        },
    },
    "root": {
        "handlers": ["observo"],
        "level": "INFO",
    },
}

MIDDLEWARE = [
    "observo_handler.middleware.RequestIDMiddleware",
    # ... your other middleware
]
# POST to the ingestion endpoint

curl -X POST \
  https://observo-log.vendlyghana.space/api/v1/ingest/ \
  -H "X-Project-ID: your-project-id" \
  -H "Authorization: Bearer obs_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "level": "ERROR",
    "message": "Payment failed",
    "logger": "payments.stripe",
    "extra": {
      "user_id": 42,
      "amount": 4999
    }
  }'

# Response 201 Created
{"id": "log_01j...", "created": "2026-03-16T12:41:09Z"}

Everything you need
to get started

Comprehensive guides, API reference, and integration examples.

Start debugging
in minutes, not days

Self-host Observo for free. No vendor lock-in, no per-seat pricing. Full control over your data, forever.