0

这是我在 Zend 框架 2 中实现 Bugsnag 的方式

public function onBootstrap(MvcEvent $e)
{
    $eventManager        = $e->getApplication()->getEventManager();
    $moduleRouteListener = new ModuleRouteListener();
    $eventManager->attach(
    'dispatch.error', function($event) {
        $error = $event->getError();
        if ($error == 'error-exception') {
            $exception = $event->getParam('exception');
            $bugsnag = Bugsnag\Client::make("MYKEY");
            Bugsnag\Handler::register($bugsnag);
            $bugsnag->notifyException($exception);
        }
    }
);
    $moduleRouteListener->attach($eventManager);
}

但它不起作用,错误未处理我做错了什么。

4

1 回答 1

0
public function onBootstrap(MvcEvent $e)
{
    $application = $e->getApplication();
    $em = $application->getEventManager();
    //handle the dispatch error (exception) 
    $em->attach(\Zend\Mvc\MvcEvent::EVENT_DISPATCH_ERROR, array($this, 'handleError'));
    //handle the view render error (exception) 
    $em->attach(\Zend\Mvc\MvcEvent::EVENT_RENDER_ERROR, array($this, 'handleError'));
}

public function handleError(MvcEvent $e)
{
      if($e->getError() == 'error-exception'){
        $exception = $e->getParam('exception');
        $bugsnag = Bugsnag\Client::make("MYKEY");
        Bugsnag\Handler::register($bugsnag);
        $bugsnag->notifyException($exception);

    }
}
于 2017-07-14T15:29:27.087 回答