Overview
- DynamoAI captures application logs and exports them via Fluentd, allowing you to configure any backend logging system of your choice.
- This document covers the core logging concepts and structure used by DynamoAI components, which are independent of your chosen logging backend.
Log Collection Architecture
- DynamoAI uses Fluentd to collect and export logs from all application components
- In SaaS deployments: Logs are automatically exported to AWS CloudWatch
- In PaaS deployments: You can configure Fluentd to export logs to any backend of your choice (CloudWatch, Elasticsearch, Splunk, etc.)
Structured Logging
DynamoAI uses structured logging across its components. Instead of printing logs as plain strings, logs are emitted as JSON objects with consistent attributes. This enables:
- Easy filtering and querying based on metadata attributes
- Simplified log exploration and debugging
- Backend-agnostic log analysis (works with any logging system that supports JSON)
Benefits
- Filter logs by specific attributes (e.g., request ID, component, test ID) rather than searching through log text
- Consistent log structure across all DynamoAI components
- Better integration with modern logging backends and analysis tools
Component Logging Documentation
- DynamoEval Logs: Logging structure for DynamoEval attacks and test report generation
- Generic Component Logs: Logging structure for API, UI, and MongoDB components
- DynamoGuard Logs: How to trace logs for DynamoGuard analyze requests from API to Moderation Server
- CloudWatch Guide: CloudWatch-specific implementation details and query examples (for SaaS deployments or if using CloudWatch as your backend)