php - Laravel:是否可以记录每个请求的堆栈跟踪?

标签 php laravel stack-trace

我想在 Laravel 上使用完整的堆栈跟踪记录每个请求。就像 Laravel 错误异常跟踪一样。 laravel 或任何第三方软件包上有可用的东西吗?

我们已经使用了 Laravel Telescope,但是 Telegram 没有给我们完整的堆栈跟踪

最佳答案

堆栈跟踪与 PHP 异常(或错误、警告等)绑定(bind),因为它们跟踪整个应用程序执行堆栈直至此特定异常。

因此,您需要决定堆栈深处的一个好点,您的应用程序逻辑已经在该点执行。在那个地方,只需抛出一个异常,捕获它并使用 report() 帮助器来记录异常。

例如你不能只是把它放在 public/index.php

的末尾
try {
    throw new \Exception('my breakpoint');
} catch (\Exception $e) {
    report($e);
    return false;
}

因为堆栈跟踪仅包含一行(因为异常是在顶层抛出的)。

您可以尝试创建一个新的中间件来抛出此异常,并使该中间件位于请求中间件的最后。

关于php - Laravel:是否可以记录每个请求的堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73485948/

相关文章:

python - 异常堆栈跟踪中的 locals() 和 globals() (Python)

php - 我如何显示来自mysql特定月份的数据

PHP 文件无法连接到 MySQL Android Studio 登录/注册应用程序

php - TypeError: Illuminate\Auth\SessionGuard::login(): 参数 #1 ($user) 必须是类型 Illuminate\Contracts\Auth\Authenticatable,, App\Models\Admin giv

laravel - Laravel .env 文件中的特殊字符

c - addr2line 返回 ?? :0 even when compiled with -g3, gdb 回溯有效

c++ - 在库 : symbol structure query 上使用 Breakpad

php - 在 PHP 中扩展类方法

php - 向在新窗口中打开的 Woocommerce 我的帐户订单添加操作按钮

laravel - 使用 Laravel 的 mock 不会 mock 一个方法