我正在尝试与通过Laravel Vapor部署在AWS Lambda上的Laravel应用程序进行Bugsnag集成。
Bugsnag在我的本地计算机上运行良好,但没有从AWS Lamda发送任何错误。
我也尝试了Bugsnag :: setBatchSending(false),但它仍然对我不起作用。
有什么主意吗?
Laravel Vapor将默认日志记录配置更改为stderr通道,该通道由AWS CloudWatch捕获并记录。
使用包含stderr和BugSnag通道的堆栈驱动程序添加一个新的蒸气通道对我有用。
在.env.production中
LOG_CHANNEL=vapor
在config / logging.php
return [
"channels" => [
"vapor" => [
"driver" => "stack","channels" => ["bugsnag","stderr"],"ignore_exceptions" => false,],"bugsnag" => [
"driver" => "bugsnag",];
,
接受的答案在排队作业中对我不起作用,仅适用于网络请求。
Taylor 在 twitter 上评论说最好在应用程序的错误处理程序 (app/Exceptions/Handler.php
) 中执行此操作
public function report(Throwable $e)
{
if (app()->environment() !== 'local') {
Bugsnag::notifyException($e);
Bugsnag::flush();
}
parent::report($e);
}
这样,在 web、cli 和 queue 中都会正确报告异常。