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: 5 years ago
Size: 3,647 bytes


Class file image Download

PHP notifier for Catches and reports exceptions to []( for alerts, reporting, and analysis.

// 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_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:

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'

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:

$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:

try {
} catch (Exception $e) {

You can also send ratchet log-like messages:

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:
$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