---
title: Set up Log Ingestion
description: Configure log sources to send data to your BYOC Logs deployment
breadcrumbs: Docs > BYOC Logs > Set up Log Ingestion
---

# Set up Log Ingestion

{% callout %}
# Important note for users on the following Datadog sites: app.ddog-gov.com

{% alert level="danger" %}
This product is not supported for your selected [Datadog site](https://docs.datadoghq.com/getting_started/site.md). ().
{% /alert %}

{% /callout %}

{% callout %}
##### BYOC Logs is in Preview

Join the BYOC Logs Preview to access new self-hosted log management features.

[Request Access](https://www.datadoghq.com/product-preview/cloudprem/)
{% /callout %}

## Overview{% #overview %}

After installing and configuring BYOC Logs, you need to set up log ingestion to start sending log data from your applications and infrastructure. BYOC Logs supports multiple ingestion methods to accommodate different architectures and requirements.

## Supported log format{% #supported-log-format %}

BYOC Logs accepts logs as **JSON objects** sent to the `/api/v2/logs` endpoint. Each request body must be a JSON array of log objects:

```json
[
  {"message": "First log entry", "service": "my-app", "level": "info"},
  {"message": "Second log entry", "service": "my-app", "level": "error"}
]
```

{% alert level="info" %}
**NDJSON (newline-delimited JSON) is not supported.** If your log source sends one JSON object per line without array wrapping, use Observability Pipelines to reformat the payload before sending to BYOC Logs.
{% /alert %}

## Log ingestion methods{% #log-ingestion-methods %}

- [Datadog Agent](https://docs.datadoghq.com/cloudprem/ingest/agent.md)
- [Observability Pipelines](https://docs.datadoghq.com/cloudprem/ingest/observability_pipelines.md)
- [REST API Integration](https://docs.datadoghq.com/cloudprem/ingest/api.md)

## Additional ingestion paths{% #additional-ingestion-paths %}

### Datadog Lambda Forwarder{% #datadog-lambda-forwarder %}

The [Datadog Lambda Forwarder](https://docs.datadoghq.com/serverless/libraries_integrations/forwarder.md) can send AWS CloudWatch Logs to BYOC Logs by setting the `DD_URL` environment variable to your BYOC Logs endpoint:

```
DD_URL=<CLOUDPREM_HOST>
```

The forwarder sends logs to `https://<DD_URL>:443/api/v2/logs`.

**Note:** API key validation (`/api/v1/validate`) is sent to Datadog SaaS (controlled by `DD_API_URL`), not to BYOC Logs. This means you need a valid Datadog API key even when forwarding to BYOC Logs.

### OpenTelemetry{% #opentelemetry %}

BYOC Logs can receive logs from OpenTelemetry collectors through Observability Pipelines. See [Send OTel logs to BYOC Logs with Observability Pipelines](https://docs.datadoghq.com/cloudprem/guides/send_otel_logs_observability_pipelines.md) for setup instructions.
