https://github.com/codex-team/hawk.php
PHP Errors catching and monitoring
https://github.com/codex-team/hawk.php
catcher composer enabling-handlers error-catcher hawk php
Last synced: 7 days ago
JSON representation
PHP Errors catching and monitoring
- Host: GitHub
- URL: https://github.com/codex-team/hawk.php
- Owner: codex-team
- License: mit
- Created: 2017-06-10T07:29:53.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-12-05T14:38:51.000Z (5 months ago)
- Last Synced: 2025-04-15T22:04:11.007Z (10 days ago)
- Topics: catcher, composer, enabling-handlers, error-catcher, hawk, php
- Language: PHP
- Homepage: https://hawk.so
- Size: 393 KB
- Stars: 20
- Watchers: 6
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Hawk PHP
PHP errors Catcher for [Hawk.so](https://hawk.so).

## Setup
1. [Register](https://garage.hawk.so/sign-up) an account, create a Project and get an Integration Token.
2. Install SDK via [composer](https://getcomposer.org) to install the Catcher
Catcher provides support for PHP 7.2 or later
```bash
$ composer require codex-team/hawk.php
```### Configuration
```php
\Hawk\Catcher::init([
'integrationToken' => 'your integration token'
]);
```After initialization you can set `user` or `context` for any event that will be send to Hawk
```php
\Hawk\Catcher::get()
->setUser([
'name' => 'user name',
'photo' => 'user photo',
])
->setContext([
...
]);
```### Send events and exceptions manually
Use `sendException` method to send any caught exception
```php
try {
throw new Exception("Error Processing Request", 1);
} catch (Exception $e) {
\Hawk\Catcher::get()->sendException($e);
}
```Use `sendEvent` method to send any data (logs, notices or something else)
```php
\Hawk\Catcher::get()->sendMessage('your message', [
... // Context
]);
```### Filtering sensitive information
Use the `beforeSend` hook to filter any data you don't want to send to Hawk. Use setters to clear any property.
```php
\Hawk\Catcher::init([
// ...
'beforeSend' => function (\Hawk\EventPayload $eventPayload) {
$user = $eventPayload->getUser();
if (!empty($user['email'])){
unset($user['email']);
$eventPayload->setUser($user);
}return $eventPayload;
}
]);
```## Issues and improvements
Feel free to ask questions or improve the project.
## Links
Repository: https://github.com/codex-team/hawk.php
Report a bug: https://github.com/codex-team/hawk.php/issues
Composer Package: https://packagist.org/packages/codex-team/hawk.php
CodeX Team: https://codex.so
## License
MIT