So that the logs are beautifully formatted from a Symfony 4 Arrive application in AWS Cloudwatch, must be Monologue configure as follows:
# config/services.yaml Monolog\Formatter\JsonFormatter: calls: - [includeStacktraces]
and
# config/packages/prod/monolog.yaml monolog: handlers: main: type: stream level: error path: '%kernel.logs_dir%/error.log' formatter: Monolog\Formatter\JsonFormatter
After that, you have to Cloudwatch Daemon to configure:
# /etc/awslogs/awslogs.conf
[general] # Path to the CloudWatch Logs agent's state file. The agent uses this file to maintain # client side state across its executions. state_file = /var/lib/awslogs/agent-state [/var/www/html/var/log/error.prod.log] datetime_format = [%Y-%m-%d H:%M:%S] file = /var/www/html/var/log/error.log buffer_duration = 5000 log_stream_name = {instance_id} initial_position = start_of_file log_group_name = test_group_name/error_log
and you get wonderful (Aggregated) ErrorLog Information in Cloudwatch Logs Insight: