Explanation
Why the waste happens and who it affects.
This results in elevated log ingestion rates - and therefore costs - even when the detailed logs are no longer needed. Because CloudWatch Logs charges per GB ingested, persistent debug logging in production environments can create silent but material cost increases, particularly for high-throughput services.In environments with multiple teams or loosely governed log group policies, this issue can go undetected for long periods. Identifying and deactivating unnecessary debug-level logging is a low-risk, high-leverage optimization.
Billing model
The pricing dimensions that drive this cost.
CloudWatch Logs charges include:
- Ingestion cost per GB of data sent to log groups
- Storage cost based on retention period
- Optional costs for subscription filters, insights queries, and cross-account delivery
Log volume is driven directly by the application's logging configuration and verbosity.
How to detect
4 checks to find it in your estate.
- Identify log groups with consistently high ingestion volume over time
- Review logging level configurations in application code, infrastructure-as-code, or service parameters
- Correlate high-volume log groups with services not actively under debugging or incident investigation
- Check whether log volume spikes correspond to elevated verbosity (e.g., debug/trace level output)
How to fix
4 ways to remove the waste.
- Reduce log verbosity from debug/trace to info or warn levels where appropriate
- Implement logging configuration standards across environments, with production defaults
- Use dynamic log level toggling (e.g., via environment variables or feature flags) to avoid persistent debug logging
- Set up alerts for anomalous log ingestion volumes tied to specific services or log groups
Documentation
Vendor references for pricing and configuration.