Laravel Email Logging Channel - PullRequest
       16

Laravel Email Logging Channel

0 голосов
/ 18 ноября 2018

У меня есть проект Laravel 5.6, и я хочу настроить его так, чтобы ошибки высокого уровня отправлялись мне по электронной почте. Я добавил канал электронной почты в конфигурационный файл logging.php и указал Swiftmailer Monolog в качестве обработчика, но так как ему требуется экземпляр почтового отправителя и сообщение в его конструкторе, я не знаю, какие значения следует указывать. Любая помощь очень ценится.

PS: я знаю, что есть пакеты для этой цели, но думаю, что это должно быть достаточно просто сделать вручную.

'email' => [
    'driver' => 'monolog',
    'handler' => Monolog\Handler\SwiftMailerHandler::class,
    'handler_with' => [
        'mailer' => ?,
        'message' => ?,
    ],
],

1 Ответ

0 голосов
/ 07 апреля 2019

Может быть немного поздно, но из документации Symfony SwiftMailer вы должны использовать что-то вроде этого:

...
'email' => [
    'driver' => 'monolog',
    'level' => 'critical',
    'handler' => SwiftMailerHandler::class,
    'handler_with' => [
        'mailer' => (new Swift_SmtpTransport(env('MAIL_HOST'), env('MAIL_PORT'), env('MAIL_ENCRYPTION')))
            ->setUsername(env('MAIL_USERNAME'))
            ->setPassword(env('MAIL_PASSWORD')),
        'message' => (new Swift_Message('[LOG] Exception'))
            ->setFrom([env('LOG_MAIL_FROM_ADDRESS') => env('LOG_MAIL_FROM_NAME')])
            ->setTo([env('LOG_MAIL_TO_ADDRESS') => 'Dev'])
            ->setBody('Here is the message itself')

    ],
    'formatter' => HtmlFormatter::class,
],
...

...