Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Open a command console, enter your project directory and execute:
$ composer require php-sentinel/reporter-bundle
BugCatcher | Symfony |
---|---|
v1 | 4.4 |
v2 | 5.4,6.4,7.0 |
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require php-sentinel/bug-catcher-reporter-bundle
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php
file of your project:
// config/bundles.php
return [
BugCatcher\Reporter\BugCatcherReporterBundle::class => ['all' => true],
];
if you want sent caught errors via http request
composer require symfony/http-client
# config/packages/bug_catcher.yaml
services:
app.chain_uri_catcher:
class: BugCatcher\Reporter\UrlCatcher\ChainUriCatcher
arguments:
$uriCatchers:
- '@bug_catcher.uri_catcher.http_catcher'
- '@bug_catcher.uri_catcher.console_catcher'
framework:
http_client:
scoped_clients:
# only requests matching scope will use these options
bug_catcher.client:
base_uri: 'https://your-bug-catcher-instance:8000'
bug_catcher:
project: 'dev'
http_client: 'bug_catcher.client'
uri_cather: 'app.chain_uri_catcher'
composer require symfony/monolog-bundle
# config/packages/monolog.yaml
monolog:
handlers:
bug_catcher:
type: service
id: bug_catcher.handler
level: 500
class Foo {
public function __construct(private readonly BugCatcherInterface $bugCatcher) {
}
public function foo():void {
$this->bugCatcher->log([
"message" => "My message",
"level" => 500,
"projectCode" => "dev",
"requestUri" => "my uri",
]);
$this->bugCatcher->logRecord("My log record", 500);
$this->bugCatcher->logException(new \Exception("My Exception"));
}
}