php - 保存 Whoops PrettyPageHandler 的结果

标签 php whoops

我在 dev 上使用 Whoops 错误库(并且喜欢它)来显示 PrettyPageHandler,如下所示:

if (ENVIRONMENT == 'local') {
    $whoops = new \Whoops\Run;
    $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
    $whoops->register();
}

在直播中,我使用 CallbackHandler 向最终用户显示“用户友好”的错误消息。

有没有办法将 PrettyPageHandler 的结果/输出保存到数据库甚至文件系统中?我的想法是向最终用户显示友好的错误页面,但同时使用 PrettyPageHandler 记录错误以回顾和调试用户遇到的错误。

最佳答案

如文档中所述:

$run->pushHandler(function($exception, $inspector, $run) {
    var_dump($exception->getMessage());
    return Handler::DONE;
});

用您的自定义代码替换 var_dump($exception->getMessage()); 以保存到数据库或文件日志。

https://github.com/filp/whoops/blob/master/docs/API%20Documentation.md#core-handlers-1

编辑1:

要使用 PrettyPageHandler 保存日志,请创建一个从 PrettyPageHandler 扩展的自定义处理程序,并在将响应返回给用户之前处理程序返回格式化响应的地方,以所需格式保存在数据库或文件系统中。

关于php - 保存 Whoops PrettyPageHandler 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43588785/

相关文章:

php - 通过 Ajax 按用户名获取 WordPress 用户电子邮件

PHP正则表达式: No ending delimiter '^' found in

javascript - 如何使用 PHP 存储选定的日期选择器 javascript

php - 通过 PHP 的 "insert into"mySQL 查询似乎有效,但未添加任何内容

php - 连接数据库中的相同数组(数字)

PHP fatal error : Uncaught Error: Call to undefined function Whoops\Exception\xdebug_is_enabled() with Laravel 5. 8 和 PHP 7.4

php - PHP Whoops错误处理程序电子邮件

php - 代码点火器+哎呀

laravel - 在Laravel中启用Whoops错误控制台