themonkeys/error-emailer

当您的服务器发生错误时,此插件会向您发送电子邮件

1.0.1 2015-08-21 01:26 UTC

This package is not auto-updated.

Last update: 2024-09-28 14:40:56 UTC


README

The Monkeys

Laravel 错误邮箱插件

没有系统管理员监控您的应用程序错误日志?只需将此包添加到您的 Laravel 应用程序中,当发生错误时,您会收到包含大量诊断信息的电子邮件。

安装 Laravel 4.x

要获取包的最新版本,只需在您的 composer.json 文件中引入它。

composer require themonkeys/error-emailer:dev-master --no-update
composer update themonkeys/error-emailer

安装包后,您需要将服务提供者注册到应用程序中。打开 app/config/app.php 文件,并找到 providers 键。

'providers' => array(
    'Themonkeys\ErrorEmailer\ErrorEmailerServiceProvider',
)

将以下内容添加到 facades

'facades' => array(
    'ErrorEmailer' => 'Themonkeys\ErrorEmailer\Facades\ErrorEmailer',
)

默认情况下,此包是禁用的,因为您可能不希望在开发环境中启用错误邮箱。特别是如果您已设置 'debug' => true,

要配置此包,您可以使用以下命令将配置文件复制到 app/config/packages/themonkeys/error-emailer

php artisan config:publish themonkeys/error-emailer

或者,您可以直接在该文件夹中创建一个新文件,并仅覆盖您需要的设置。

设置本身在 config.php 中有文档说明。启用错误邮箱并设置两个收件人的最小配置文件可以非常简单,如下所示:

<?php
return array(
    'enabled' => true,
    'to' => array(
        array('address' => 'you@host.com.au', 'name' => 'Your Name'),
        array('address' => 'me@host.com.au', 'name' => 'My Name'),
    ),
);

要使您的配置仅适用于特定的环境,请将您的配置放在一个环境文件夹中,例如 app/config/packages/themonkeys/error-emailer/environment-name/config.php

配置电子邮件

为了发送错误电子邮件,您的应用程序需要正确配置以发送电子邮件。打开您的 app/config/mail.php 文件以配置默认设置,并根据需要为您的应用程序的其他环境添加 app/config/<environment>/mail.php 文件以覆盖这些默认设置。特别是,请确保您已设置默认的发件人地址 - 如果没有,错误邮箱将无法发送电子邮件。

    'from' => array('address' => 'someone@somedomain.com', 'name' => 'My Application'),

错误处理器优先级

此包通过向应用程序注册错误处理器的方式拦截错误,与您的应用程序可以拦截错误的方式相同。默认的 Laravel 应用程序在 app/start/global.php 中包含一个空的错误处理器。

App::error(function(Exception $exception, $code)
{
	Log::error($exception);
});

由于 App::error() 的工作方式,此处理器在包的处理器之前被调用;因此,如果您在 app/start/global.php 中的处理器中返回一个响应(例如,用于渲染自定义错误页面),您将不会收到任何错误电子邮件。为了解决这个问题,我们推荐的方法是更改 app/start/global.php 中的处理器的优先级,使其最后运行而不是首先运行

App::pushError(function(Exception $exception, $code)
{
	return View::make('myerrorpage', array(
	    'exception' => $exception,
	    'code' => $code,
    ));
});

(注意从 App::errorApp::pushError 的变化)。

贡献

在没有正式风格指南的情况下,请注意维护现有的编码风格。

许可证

MIT 许可证(c)The Monkeys