首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我抛出异常时,如何记录堆栈跟踪?记录器PSR-3兼容吗?

当我抛出异常时,如何记录堆栈跟踪?记录器PSR-3兼容吗?
EN

Drupal用户
提问于 2022-06-25 16:10:26
回答 2查看 338关注 0票数 1

当我抛出异常正如这里所建议的时,我试图记录堆栈跟踪。

我试过这个:

代码语言:javascript
复制
  catch (\Exception $e) {
    \Drupal::logger('mymodule')->error($e->getMessage(), [ 'exception' => $e]);
  }

但是,堆栈跟踪不会被记录;我只看到错误消息。我如何也记录堆栈跟踪呢?

EN

回答 2

Drupal用户

回答已采纳

发布于 2022-06-25 16:10:26

这在Drupal 9中是不可能的,因为Drupal 9记录器不兼容PSR-3。

但是,Drupal10alpha 已经支持PSR-3日志记录.,所以这个特性很快就可以使用了。

票数 1
EN

Drupal用户

发布于 2022-07-22 12:33:50

这对于Drupal 8和9很好:

代码语言:javascript
复制
catch (\Exception $e) {
  \Drupal::logger('mymodule')->error("$e");
}

这是因为Exception::__toString包含堆栈跟踪。

代码语言:javascript
复制
确保在查看错误日志时,在浏览器中正确显示换行符。
票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/311780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档