Si estas ocupando Monolog para Symfony6 y tienes un servicio personalizado de envio de email, debes agregar este a su configuracion para que pueda enviar los errores por dicho servicio.
Symfony 6 permite capturar los errores generados en tu sitio y enviarlos por correo, para esto dispone de Monolog el cual de una manera simple y rapida nos permite hacer todo este trabajo, segun la documentacion oficial una vez instalado es solo cambiar su configuracion por esta:
# config/packages/prod/monolog.yaml
monolog:
handlers:
main:
type: fingers_crossed
# 500 errors are logged at the critical level
action_level: critical
# to also log 400 level errors (but not 404's):
# action_level: error
# excluded_http_codes: [404]
handler: deduplicated
deduplicated:
type: deduplication
handler: symfony_mailer
symfony_mailer:
type: symfony_mailer
from_email: 'error@example.com'
to_email: 'error@example.com'
# or list of recipients
# to_email: ['dev1@example.com', 'dev2@example.com', ...]
subject: 'An Error Occurred! %%message%%'
level: debug
formatter: monolog.formatter.html
content_type: text/html
El problema radica cuando tienes un servicio de envio de email personalizado, la configuracion por defecto no toma este servicio, por ende debes indicarle que existe tu servicio para que lo ocupe, esto es tan simple como agregar:
mailer: 'App\Services\XXXXX'
Donde XXXXX seria el nombre de tu servicio de envio de email, esto debe ir dentro de symfony_mailer, en resumen, quedaria asi:
# config/packages/prod/monolog.yaml
monolog:
handlers:
main:
type: fingers_crossed
# 500 errors are logged at the critical level
action_level: critical
# to also log 400 level errors (but not 404's):
# action_level: error
# excluded_http_codes: [404]
handler: deduplicated
deduplicated:
type: deduplication
handler: symfony_mailer
symfony_mailer:
type: symfony_mailer
from_email: 'error@example.com'
to_email: 'error@example.com'
# or list of recipients
# to_email: ['dev1@example.com', 'dev2@example.com', ...]
subject: 'An Error Occurred! %%message%%'
level: debug
formatter: monolog.formatter.html
content_type: text/html
mailer: 'App\Services\XXXXX'
Como te daras cuenta, la ultima linea contiene nuestro cambio.
Eso es todo!