Я использую комбинацию Monolog / SwiftMailer для отправки писем конкретным получателям об исключениях.
Теперь моя цель - изменить получателя на конкретное исключение.
Например:
Throwable === \Exception -> send to test@test.de
Throwable === \MyOwnException -> send to myaddress@test.de
Для этого у меня естьмоя монологическая конфигурация:
monolog:
channels:
- 'custom'
handlers:
main:
type: fingers_crossed
action_level: error
handler: grouped
grouped:
type: group
members: [streamed, deduplicated]
deduplicated:
type: deduplication
time: 10
handler: mail.group
streamed:
type: stream
path: '%log.dir%/logfile.log'
level: error
mail.group:
type: group
members: [mail.default, mail.custom]
mail.default:
type: swift_mailer
from_email: 'from@address'
to_email:
- 'to@address'
subject: 'Subject'
level: error
formatter: monolog.formatter.html
content_type: text/html
channels:
- '!custom'
mail.custom:
type: swift_mailer
from_email: 'from@address'
to_email:
- 'to_custom@address'
subject: 'Subject'
level: error
formatter: monolog.formatter.html
content_type: text/html
channels:
- 'custom'
Также у меня есть мой пользовательский ExceptionListener
, где я определяю вещи в зависимости от исключения.
Можно ли изменить получателя или канал на лету?