简体   繁体   English

Laravel 电子邮件日志记录频道

[英]Laravel Email Logging Channel

I have a Laravel 5.6 project and I want to configure it such that high level errors are emailed to me.我有一个 Laravel 5.6 项目,我想对其进行配置,以便将高级错误通过电子邮件发送给我。 I have added an email channel to logging.php config file and specified Monolog's Swiftmailer as the handler but since it needs a mailer instance and message in its constructor I don't know what values should be supplied.我在 logging.php 配置文件中添加了一个电子邮件通道,并指定 Monolog 的 Swiftmailer 作为处理程序,但由于它需要一个邮件程序实例和它的构造函数中的消息,我不知道应该提供什么值。 Any help is much appreciated.任何帮助深表感谢。

PS: I do know there are packages for this purpose but think this should be simple enough to do manually. PS:我确实知道有用于此目的的软件包,但认为这应该足够简单,可以手动完成。

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

With Lavarel 7.x you can solve it like this使用 Lavarel 7.x 你可以这样解决

'smtp-sys' => [
'driver' => 'monolog',
'level' => 'info',
'handler' => SwiftMailerHandler::class,
    'handler_with' => [
        'mailer' => new Swift_Mailer( (new Swift_SmtpTransport(env('MAIL_HOST_SYS'), env('MAIL_PORT_SYS'), env('MAIL_ENCRYPTION', 'tls')))->setUsername(env('MAIL_USERNAME_SYS'))->setPassword(env('MAIL_PASSWORD_SYS'))),
        'message' => (new Swift_Message('[LOG] Exception'))
            ->setFrom([env('MAIL_USERNAME_SYS') => 'Dev'])
            ->setTo([env('MAIL_USERNAME_SYS') => 'Dev'])
    ],
],

It might be a little late but from Symfony SwiftMailer documentation you should use something like this:可能有点晚了,但是从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,
],
...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM