bwt-team/laravel-error-mailer

当出现错误时发送电子邮件通知的软件包

v2.0.0 2017-02-07 08:41 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:52:52 UTC


README

英文描述 | 俄语描述

Laravel 5 错误邮件发送器

Latest Stable Version Latest Unstable Version License

此软件包允许在出现错误时启用并设置电子邮件警报。

内容

设置

使用以下命令通过 composer 设置此软件包:

composer require bwt-team/laravel-error-mailer

Laravel 中设置

在 composer update 后,将服务提供者添加到 config/app.phpproviders 中。

BwtTeam\LaravelErrorMailer\Providers\ErrorMailerServiceProvider::class

此服务提供者将启用,并提供将配置文件发布到更新包设置的选项,具体取决于您的需求。发布后,此服务提供者可以禁用,因为它不是必需的。请使用以下命令进行发布:

php artisan vendor:publish --provider="BwtTeam\LaravelErrorMailer\Providers\ErrorMailerServiceProvider" --tag=config

此外,为了使软件包正常工作,请在 bootstrap/app.php 中注册设置类。注册应在返回应用程序示例之前发生。

$app->bind(
    \Illuminate\Foundation\Bootstrap\ConfigureLogging::class,
    \BwtTeam\LaravelErrorMailer\ConfigureLogging::class
);

Lumen 中设置

要发送电子邮件消息,您可以使用 Laravel 组件或通过初始化实现 \Swift_Transport 接口的类来创建自己的类。要设置 Laravel 组件

  • 使用以下命令设置组件: composer require illuminate/mail
  • 配置文件 复制到存储在根目录中的 config 目录中(或自行创建目录)。
  • 将配置文件 vendor/bwt-team/laravel-error-mailer/config/error-mailer.php 复制到存储在根目录中的配置目录中(如果不存在,请自行创建)并根据您的需求进行设置。
  • bootstrap/app 中启用服务提供者。 $app->register(\Illuminate\Mail\MailServiceProvider::class);
  • 从配置文件设置设置。 $app->configure('mail'); $app->configure('error-mailer');

要启用发送电子邮件警报,您需要在 bootstrap/app 中创建一个 \BwtTeam\LaravelErrorMailer\Configurators\MailConfigurator 类实例,其构造函数如下所示

 public function __construct($subject, $to, $from, array $processors = [], $logLevel = Logger::ERROR, \Swift_Transport $sendmailTransport = null)

此类负责通过电子邮件发送警报邮件,但启用它将禁用文件日志记录,这是 Lumen 默认启用的。为了不禁用记录,您需要创建一个 \BwtTeam\LaravelErrorMailer\Configurators\FileConfigurator 类实例。类构造函数如下所示

 public function __construct($file = null, $logLevel = Logger::DEBUG)

之后,您需要将此实例传递到 \BwtTeam\LaravelErrorMailer\Configurators\MailConfigurator 类的 with 方法中。每个配置类都有与 monologue 处理器一起工作的选项。为此,您需要将进程实例传递到构造函数中的类名称中或使用 addProcessors 方法添加。除了标准 monologue 处理器外,以下开箱即用的处理器也可用

 \BwtTeam\LaravelErrorMailer\Processors\SqlProcessor::class,
 \BwtTeam\LaravelErrorMailer\Processors\PostDataProcessor::class,
 \BwtTeam\LaravelErrorMailer\Processors\HeadersProcessor::class,

组件设置完成后,您需要在返回之前将其传递给应用程序类的 configureMonologUsing 方法。
最终的设置将如下所示

$configurator = new \BwtTeam\LaravelErrorMailer\Configurators\MailConfigurator('subject', 'to@example.com', 'from@example.com');
$configurator->setSendmailTransport(\Swift_MailTransport::newInstance());
$configurator->addProcessors([
     \BwtTeam\LaravelErrorMailer\Processors\SqlProcessor::class,
     \BwtTeam\LaravelErrorMailer\Processors\PostDataProcessor::class,
     \BwtTeam\LaravelErrorMailer\Processors\HeadersProcessor::class,
     \Monolog\Processor\WebProcessor::class
]);
$configurator->with(new \BwtTeam\LaravelErrorMailer\Configurators\FileConfigurator());
$app->configureMonologUsing($configurator);

许可证

此软件包使用 MIT 许可证。