Обработка ошибок - изменение получателя на конкретное исключение - PullRequest
0 голосов
/ 28 ноября 2018

Я использую комбинацию 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, где я определяю вещи в зависимости от исключения.
Можно ли изменить получателя или канал на лету?

...