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

# AWS Lambda Logs and Traces

> Compare AWS Lambda ingestion options for function logs, platform logs, and distributed traces so you can choose CloudWatch, extensions, or ADOT for your workload.

AWS Lambda emits function logs (your application output), platform logs (cold starts, timeouts, out-of-memory events), and — when instrumented — distributed traces. The right ingestion path depends on your runtime and whether you also want traces.

## Recommended method

[**ADOT Lambda Layer**](./aws-adot-lambda) — sends logs and traces directly to Bronto over OTLP on OTel-supported runtimes (Node.js, Python, Java, .NET, and Go). It bypasses CloudWatch entirely, avoiding CloudWatch ingestion fees, and uses the same `service.name` / `service.namespace` routing as your other OTel workloads (see [Data Organization](/Search-and-Visualize/Partitions)).

## Alternatives

* [**CloudWatch Log Forwarder**](./aws-client-cloudwatch) — captures Lambda's automatic `stdout` / `stderr` and works with runtimes the ADOT layer doesn't support (Ruby, custom runtimes).

See [Ingesting AWS Data into Bronto](./aws-overview) for the full service-to-method mapping.

## References

* [AWS Lambda — monitoring with CloudWatch Logs](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-cloudwatchlogs.html)
