PHP Classes


Recommend this page to a friend!
  Classes of Brian Rue   Download  
Role: Documentation
Content type: text/plain
Description: documentation
Track PHP script errors with service
Author: By
Last change:
Date: 11 years ago
Size: 3,647 bytes


Class file image Download
ratchetio-php =========== PHP notifier for Catches and reports exceptions to []( for alerts, reporting, and analysis. ```php // installs global error and exception handlers Ratchetio::init(array('access_token' => 'your_access_token')); try { throw new Exception('test exception'); } catch (Exception $e) { Ratchetio::report_exception($e); } Ratchetio::report_message('testing 123', 'info'); // raises an E_NOTICE which will be reported by the error handler $foo = $bar; // will be reported by the exception handler throw new Exception('test 2'); ``` ## Installation and Configuration 1. Download the code and put `ratchetio.php` somewhere you can access it 2. Add the following code at your application's entry point: ```php require_once 'ratchetio.php'; $config = array( // required 'access_token' => 'your_ratchetio_access_token', // optional - environment name. any string will do. 'environment' => 'production', // optional - dir your code is in. used for linking stack traces. 'root' => '/Users/brian/www/myapp' ); Ratchetio::init($config); ``` This will install an exception handler (with `set_exception_handler`) and an error handler (with `set_error_handler`). If you'd rather not do that: ```php $set_exception_handler = false; $set_error_handler = false; Ratchetio::init($config, $set_exception_handler, $set_error_handler); ``` 3. That's it! If you'd like to report exceptions that you catch yourself: ```php try { do_something(); } catch (Exception $e) { Ratchetio::report_exception($e); } ``` You can also send ratchet log-like messages: ```php Ratchetio::report_message('could not connect to mysql server', 'warning'); ``` ## Configuration reference All of the following options can be passed as keys in the $config array. - access_token: your project access token - environment: environment name, e.g. 'production' or 'development' - root: path to your project's root dir - branch: name of the current branch (default 'master') - logger: an object that has a log($level, $message) method. If provided, will be used by RatchetioNotifier to log messages. - base_api_url: the base api url to post to (default '') - batched: true to batch all reports from a single request together. default true. - batch_size: flush batch early if it reaches this size. default: 50 - timeout: request timeout for posting to ratchet, in seconds. default 3. - max_errno: max PHP error number to report. e.g. 1024 will ignore all errors above E_USER_NOTICE. default: -1 (report all errors). - capture_error_stacktraces: record full stacktraces for PHP errors. default: true. - error_sample_rates: associative array mapping error numbers to sample rates. Sample rates are ratio out of 1, e.g. 0 is "never report", 1 is "always report", and 0.1 is "report 10% of the time". Sampling is done on a per-error basis. Default: empty array, meaning all errors are reported. Example use of error_sample_rates: ```php $config['error_sample_rates'] = array( // E_WARNING omitted, so defaults to 1 E_NOTICE => 0.1, E_USER_ERROR => 0.5, // E_USER_WARNING will take the same value, 0.5 E_USER_NOTICE => 0.1, // E_STRICT and beyond will all be 0.1 ); ``` ## Support If you have any feedback or run into any problems, please contact support at ## Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Added some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request