示例#1
0
 public function testCreateFromErrors()
 {
     $application = new Application('foo\\bar');
     $request = new Request('http://foo.bar');
     $server = new Server('foo.bar');
     $errors = array(new Error('foo', E_RECOVERABLE_ERROR, 'Exception'));
     $factory = new ReportFactory($application, $request, $server);
     $report = $factory->createFromErrors($errors);
     $this->assertEquals(new Report($application, $errors, $request, $server), $report);
 }
示例#2
0
 /**
  * Sends all the errors collected by the error handler.
  */
 public function sendErrors()
 {
     $errors = $this->errorHandler->getErrors();
     if (empty($errors)) {
         return;
     }
     $report = $this->reportFactory->createFromErrors($errors);
     try {
         $this->client->sendReport($report);
     } catch (BadResponseException $exception) {
         $label = 'Error';
         $request = $exception->getRequest();
         $response = $exception->getResponse();
         if ($response->isClientError()) {
             $label = 'Client error';
         } elseif ($response->isServerError()) {
             $label = 'Server error';
         }
         error_log(sprintf('%s "%s" with status code %i at %s', $label, $response->getReasonPhrase(), $response->getStatusCode(), $request->getUrl()));
     } catch (\Exception $exception) {
         error_log($exception->getMessage());
     }
 }