Skip to main content

Quick Start: Send Logs to LogClaw

LogClaw ingests logs via OTLP (OpenTelemetry Protocol) — the CNCF industry standard. Every major language and framework has an OTel SDK. Your endpoint:
Every code example below includes this endpoint and your API key inline — just copy and run. See API Keys to create your key.
You do not need to set tenant_id — it is automatically injected based on your API key.

Send Your First Log

Pick your language — click a tab to switch. Copy the code and run it.
Check your dashboard at console.logclaw.ai — the log should appear within seconds.
Every tab above is a complete, runnable example. Scroll down for framework-specific guides (Django, Flask, FastAPI, Express, Next.js, NestJS, Spring Boot, Gin, and more).

Detailed Guides by Language

Below are full integration guides with framework-specific examples for each language.
The examples below include the LogClaw Cloud endpoint and API key inline — just copy and run. For self-hosted deployments, swap https://otel.logclaw.aihttp://localhost:4318 (HTTP) or localhost:4317 (gRPC) and remove the x-logclaw-api-key header. Look for the # Self-hosted comments in each snippet.

Python

Install

Add to your app

That’s it. Your existing logging.info(), logging.error(), etc. all flow to LogClaw automatically.

Django

All Django request logs, middleware errors, and your logger.info() calls auto-forward to LogClaw.

Flask

FastAPI

Celery (Background Workers)


Node.js

Install

Express

Next.js

Or use the environment variable approach with next.config.js:

NestJS

Fastify

With Winston

With Pino


Java / Kotlin

Spring Boot (Zero Code Changes)

Download the OTel Java Agent — it auto-instruments your app:
Zero code changes. All your log.info(), log.error(), Spring request logs, and exception stack traces automatically flow to LogClaw.

Spring Boot via application.properties (Alternative)

Quarkus

Micronaut

Kotlin (Ktor)

Log4j2 / Logback

Add the OTel appender to your logging config:

Go

Gin

Fiber

Echo


Ruby

Install

Add to your app

Rails Auto-Instrumentation (Zero Code Changes)

Then run your app:

.NET / C#

Install

ASP.NET Core

All existing ILogger calls (LogInformation, LogError, LogWarning) automatically flow to LogClaw.

Rust

Add to Cargo.toml

Add to main.rs


PHP

Install

Add to your app

Laravel

Then run your app:

Log Shippers (Config Change Only)

Already running a log shipper? Point it at LogClaw’s OTLP endpoint.
Log shippers use config files, not OTel SDKs. The examples below use the LogClaw Cloud URL (https://otel.logclaw.ai) — for self-hosted, replace with http://localhost:4318.

Fluentd

Fluent Bit

Vector

Logstash

Datadog Agent (Dual-Ship)

Already using Datadog? Send a copy to LogClaw:
Then point a separate OTel Collector at your Datadog Agent’s OTLP receiver and forward to LogClaw.

OTel Collector Sidecar (Zero Code Changes)

For apps that write logs to stdout or log files — any language, any framework — deploy an OTel Collector alongside your app to auto-scrape and forward logs. No SDK needed.

Docker Compose example

Kubernetes DaemonSet

For Kubernetes clusters, deploy the OTel Collector as a DaemonSet to auto-collect logs from all pods:

Dashboard Upload (Drag & Drop)

For testing or one-time imports, the LogClaw dashboard supports drag-and-drop log upload:
  1. Go to console.logclaw.ai
  2. Click Ingestion in the sidebar
  3. Drag a .json, .ndjson, .csv, or .txt/.log file onto the upload area
Accepted format (OTLP JSON):

What Happens After Logs Arrive

  1. OTel Collector receives logs, batches them (1000/batch), and writes to Kafka
  2. Flink ETL normalizes, enriches, and indexes into OpenSearch
  3. Flink Anomaly Scorer detects anomalies in real-time using ML models
  4. Ticketing Agent auto-creates incidents in PagerDuty/Jira/Slack when anomalies exceed threshold
  5. Dashboard lets you search, filter, and visualize everything

Supported Languages & Frameworks

Every option has a full code example above. Pick your stack:

Troubleshooting

Logs not appearing in dashboard?
  1. Test connectivity:
    If you get 401 Unauthorized, check that your API key is valid and not revoked.
  2. Check your service.name attribute is set — logs without service.name may not display correctly
  3. Verify OTLP endpoint URL — common mistakes:
    • Missing /v1/logs path for HTTP (gRPC doesn’t need it)
    • Using port 4317 for HTTP (that’s gRPC) or 4318 for gRPC (that’s HTTP)
    • Using http:// instead of https:// for external access
    • LogClaw Cloud: using localhost instead of otel.logclaw.ai
  4. Check firewall — OTLP uses port 443 (TLS-terminated) for external access
  5. LogClaw Cloud: missing x-logclaw-api-key header — all managed platform requests require an API key. See API Keys