> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squasher.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Logging Connectors

> Ship logs from hosted platforms and log pipelines into Squasher without changing application code.

Squasher log connectors let you route platform logs, drains, and pipeline output into the same project that powers your SDK-based errors.

Before you add volume, read [Design Queryable Logs](/integrations/queryable-logging). It explains canonical operation events, typed attributes, trace correlation, privacy, and outcome-aware sampling.

Use connectors when you want fast coverage for infrastructure, worker, proxy, or platform logs. Keep the SDK for rich stack frames, user context, and release metadata.

## Choose the right path

| Source        | Best when                                                             | Guide                                            |
| ------------- | --------------------------------------------------------------------- | ------------------------------------------------ |
| HTTP API      | You want the simplest custom JSON or NDJSON entry point               | [HTTP API](/integrations/http-api)               |
| OpenTelemetry | You already emit OTLP logs or traces                                  | [OpenTelemetry](/integrations/opentelemetry)     |
| Vector        | You already normalize logs in a pipeline                              | [Vector](/integrations/vector)                   |
| Railway       | You want platform logs without adding an SDK first                    | [Railway](/integrations/railway)                 |
| Heroku        | You need router, dyno, and runtime logs quickly                       | [Heroku](/integrations/heroku)                   |
| Fly.io        | You want machine logs and crash loops with minimal setup              | [Fly.io](/integrations/flyio)                    |
| Render        | You rely on Render log streams already                                | [Render](/integrations/render)                   |
| Cloudflare    | You want request or worker logs from Cloudflare                       | [Cloudflare Logs](/integrations/cloudflare-logs) |
| Datadog Agent | You collect host, container, or Kubernetes logs with the agent        | [Datadog Agent](/integrations/datadog-agent)     |
| Datadog HTTP  | You are translating an existing Datadog HTTP shipper during migration | [Datadog HTTP](/integrations/datadog-http)       |
| Axiom         | You want to mirror an existing stream during migration                | [Axiom](/integrations/axiom)                     |
| Better Stack  | You already have source-level shipping in Better Stack                | [Better Stack](/integrations/betterstack)        |
| Vercel        | You want zero-code deployment logs first                              | [Vercel Log Drain](/integrations/vercel)         |

## Setup flow

<Steps>
  <Step title="Create a connector">
    In Squasher, create a connector for your project and choose the source type you want to receive.
  </Step>

  <Step title="Copy the destination details">
    Each connector exposes a destination URL, required headers, and a status value. Keep those
    values in your log source, agent, or pipeline config.
  </Step>

  <Step title="Send a test log">
    Emit a single error-level event first. Once verification passes, widen the source to production
    traffic.
  </Step>
</Steps>

## Verify

* Confirm the connector shows a recent delivery time.
* Check that an error-level event creates an issue in Squasher.
* Check that surrounding info and warning logs show up as timeline context.

## Migrate

For migrations, run the old destination and Squasher in parallel for a short window, compare event volume and fields, then switch alerts and dashboards once the new path is stable.

Migration guides:

* [Datadog to Squasher](/migrations/datadog-to-squasher)
* [Axiom to Squasher](/migrations/axiom-to-squasher)
* [Better Stack to Squasher](/migrations/betterstack-to-squasher)
* [Vercel drain to Squasher SDK](/migrations/vercel-drain-to-squasher-sdk)

## Hot-swap checklist

* Start with one project or service instead of the whole account.
* Keep field names stable for `service`, `environment`, `level`, and request identifiers.
* Lower noisy filters before cutover so alert volume stays predictable.
* Rotate the connector key after migration if the destination was shared during testing.

## Manage connectors with the API

The control plane for connectors is available in the [Log Connectors API reference](/api-reference/log-connectors). Use it to list the connector catalog, create connectors, verify delivery, update settings, and rotate keys.

## Agent handoff

```text theme={null}
Set up a Squasher log connector for project <project_id>. Start by listing the connector catalog, create or onboard the matching connector, return the destination URL and required headers, send one error-level test event, verify delivery, and ask before rotating or deleting keys.
```

Use `squasher log-connectors ...`, the [Log Connectors API](/api-reference/log-connectors), or MCP `search("logConnectors")` followed by `execute`.
