Skip to content

About

ErrorNot php notifier

Resources

Stars

7 stars

Watchers

1 watching

Forks

Latest commit

 

History

30 Commits

Folders and files

Repository files navigation

PHP ErrorNot

Php notifier for ErrorNot http://github.com/errornot/ErrorNot

Requirements

Usage

You only want to notify some data:

$errornot = new Services_ErrorNot('http://example.net/', 'my-api-key');
$errornot->notify('big error');
$errornot->notify('big error', '2010-03-03T00:00:42+01:00');
$errornot->notify('big error', '2010-03-03T00:00:42+01:00', $mybacktrace, $myrequest, $myenvironnement, $mydata);

Notify exception:

try
{
    throw new MyException();
}
catch (MyException $e)
{
    $errornot->notifyException($e); // send specific exception
    $errornot->notifyException($e, 'foo'); // send specific exception with extra data
}

Non-blocking notifications

It is possible to perform non-blocking notifications. This means that ErrorNot client will not wait for server response and therefore will not be affected if ErrorNot server is misbehaving.

This can be achieved by using ErrorNotSocketNonBlockingHttpAdapter adapter.

$errornot = new Services_ErrorNot('http://example.net/', 'my-api-key');
$errornot->setNetworkAdapter(new ErrorNotSocketNonBlockingHttpAdapter());
$errornot->notify('big error', '2010-03-03T00:00:42+01:00');

Exception Handler

ErrorNot can also install a custom exception handler:

$errornot = new Services_ErrorNot('http://example.net/', 'my-api-key', true);

Be carefull about exception handler.

If you call set_exception_handler after create errornot instance, you override previous exception_handler.

ErrorNot will save your previous custom exception handler.

The good way:

function my_exception_handler($e)
{
    echo 'plop';
}

set_exception_handler('my_exception_handler'); // ok
$errornot = new Services_ErrorNot('http://example.net/', 'my-api-key', true);

The bad way:

function my_exception_handler($e)
{
    echo 'plop';
}

$errornot = new Services_ErrorNot('http://example.net/', 'my-api-key', true);
set_exception_handler('my_exception_handler'); // not ok

You can also reinstall errornot exception handler

$errornot->installExceptionHandler();

Tests

Simpletest for launching tests (http://www.simpletest.org/)

$> git submodule update --init
$> php tests/test_errornot.php
test_errornot.php
OK
Test cases run: 2/2, Passes: 16, Failures: 0, Exceptions: 0

Author

François de Metz francois@2metz.fr

License

LGPL v3

About

ErrorNot php notifier

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages