如何在Laravel 5.1中记录所有事件?我试过但得到这个错误:
达到“100”的最大功能嵌套级别
我尝试将 xdebug 嵌套级别设置为更高的值(900)而没有运气。
答案 0 :(得分:1)
将以下内容放入 EventServiceProvider的 boot
函数中。关键是过滤掉“ illuminate.log ”事件。如果你没有过滤掉那些,你的日志记录语句将导致你的事件处理程序的递归评估。
请注意,Laravel框架似乎为了它自己的目的而广泛使用事件,因此您将在日志中看到许多“内部”框架事件。
public function boot(DispatcherContract $events)
{
parent::boot($events);
Event::listen('*', function()
{
$event = Event::firing();
if(!starts_with($event, "illuminate.log")) {
Log::info("Event fired: " . $event . "\n");
}
});
}