/** * Handles the PHP shutdown event. * * This event exists almost solely to provide a means to catch and log errors that might have been * otherwise lost when PHP decided to die unexpectedly. */ public function onShutdown() { // Get the last error if there was one, if not, let's get out of here. if (!($error = error_get_last())) { return; } $fatal = array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR, E_RECOVERABLE_ERROR); if (!in_array($error['type'], $fatal)) { return; } $message = '[Shutdown Error]: %s'; $message = sprintf($message, $error['message']); $backtrace = array(array('file' => $error['file'], 'line' => $error['line'])); $this->client->notifyOnError($message, $backtrace); error_log($message . ' in: ' . $error['file'] . ':' . $error['line']); }
/** * @param string $message * @return bool */ public function SendErrorString($message) { $apiKey = $this->_apiKey; $options = $this->_getConfigOptions(); $config = new \Airbrake\Configuration($apiKey, $options); $client = new \Airbrake\Client($config); return $client->notifyOnError($message); }