anlutro / l4-smart-errors
Laravel 的智能错误报告。
Requires
- php: >=5.4.0
- laravel/framework: ~4.1
- xethron/l4-to-string: 1.0.*
Requires (Dev)
- anlutro/l4-testing: 0.2.*
- laravel/laravel: ~4.1
- mockery/mockery: 0.9.*
- dev-master
- 2.5.1
- 2.5.0
- 2.4.12
- 2.4.11
- 2.4.10
- 2.4.9
- 2.4.8
- 2.4.7
- 2.4.6
- 2.4.5
- 2.4.4
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.7
- 2.3.6
- 2.3.5
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.1
- 2.2.0
- 2.1.0
- 2.0.0
- 1.6.1
- 1.6.0
- 1.5.1
- 1.5.0
- 1.4.7
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.0
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.0
- dev-develop
- dev-laravel5
This package is auto-updated.
Last update: 2024-09-24 08:56:59 UTC
README
一个小系统,在向自己发送包含异常所有相关信息(引用者、路由名称/操作、任何输入等)的电子邮件时,向您的最终用户显示一个非常通用的错误消息。
- 未捕获的异常会发送包含详细信息的电子邮件(引用者、路由名称/操作、任何输入等)
- 404 错误以警告形式写入日志,包括访问的 URL 和引用者
- 自 1.3 版本起,警报级别的日志事件会通过电子邮件发送
注意:不支持 Laravel 5。请参阅 此问题。
安装
要安装,运行 composer require anlutro/l4-smart-errors
。这将选择最合适的版本并将其添加到您的 composer.json
。
重要:从 2.1 升级
2.2 中的行为有所改变,并且略有向后不兼容。如果配置文件中的 'error-view' 或 'missing-view' 设置为 null,则错误/404 处理程序不会返回任何视图响应。这是为了让用户添加自己的 App::error / App::missing 处理程序,这些处理程序返回带有自定义数据的视图,而不是被迫使用视图组合器,如果您想使用需要定义特定变量的自定义视图。
要保留 2.1 中的行为,请确保配置文件已发布,然后更改您的 config.php 文件以包含以下行
'error-view' => 'smarterror::generic',
'missing-view' => 'smarterror::missing',
用法
下载包后,将以下内容添加到 app/config/app.php
中的服务提供者列表中
'anlutro\L4SmartErrors\L4SmartErrorsServiceProvider',
运行 php artisan config:publish anlutro/l4-smart-errors
并打开生成的配置文件。根据需要修改它。如果您想使用某些模板,请从 vendor 目录复制 lang 和/或 views 目录。
删除您应用程序中可能存在的任何 App::error
和 App::missing
,以防止冲突。如果您想自己处理特定类型的异常,您可以添加具有这些特定异常作为参数的 App::error
闭包。使用 App::error
处理的异常将不会通过此包发送电子邮件或记录。
异常电子邮件报告
只要 app.debug
为假,并且包配置文件中的 dev-email
键已填写,异常就会通过电子邮件发送。请确保您的 mail.php
配置文件正确无误 - 使用常规的 Mail::send()
进行测试。如果您的邮件发送器配置不正确,您可能会在错误时收到一个空的“错误处理程序中的错误”屏幕。
电子邮件报告已进行节流,以确保相同的异常不会重复发送。默认情况下,当相同的异常再次发送电子邮件的阈值是 10 分钟。这可以通过 throttle-age
配置键进行配置。
注意,当 app.debug
为真时,不会发送电子邮件。
最终用户响应
对于任何未捕获/未处理的异常,如果 app.debug
为假,则包将向最终用户返回一个通用的错误响应。如果您在开发过程中收到此通用响应,则可能没有设置正确的环境 - 检查您的 bootstrap/start.php
。
您可以通过配置 error-view
、missing-view
和 csrf-view
选项来设置显示哪种视图。如果您将这些值设置为 null
,则包将不会向最终用户返回通用响应,从而允许您实现自己的,例如本示例所示。
// app/start/global.php App::pushError(function($exception) { if (App::runningInConsole() || Config::get('app.debug')) return; return Response::view('my-error-view', [...], 500); });
使用 pushError
而不是 error
可以确保它被推送到异常处理程序堆栈的末尾,使包的错误处理程序优先于您的处理程序。
本地化响应
此存储库的语言和翻译更新得并不规律。为确保您的翻译始终保持最新,或者如果您想自行管理翻译,请运行以下命令。
mkdir -p ./app/lang/packages/MYLOCALE/smarterror`
cp ./vendor/anlutro/laravel-4-smart-errors/src/lang/en/*.php ./app/lang/packages/MYLOCALE/smarterror
您也可以从除 "en" 之外的其他区域复制。
如果您的区域设置缺失,您的通用最终用户响应将只有占位符字符串。您可以通过将 'fallback_locale' => 'en',
放入 app/config/app.php
中将其默认设置为英文。
贡献
我会立即接受语言文件,无需讨论。对于其他任何内容,请在您的 pull requests 中描述清楚。
联系
如果您有任何问题或建议,请打开 GitHub 上的一个问题。
许可
此存储库的内容在 MIT 许可证 下发布。