php-bug-catcher / reporter-bundle
A Symfony bundle to report exceptions to Bug Catcher
Installs: 21
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=8.1
- kregel/exception-probe: ^1.0
- monolog/monolog: ^3.0
- symfony/dependency-injection: ^5.4|^6.4|^7.0
- symfony/event-dispatcher: ^6.4
- symfony/framework-bundle: ^5.4|^6.4|^7.0
- symfony/monolog-bundle: ^3.10
Requires (Dev)
- doctrine/common: ^3.4
- phpunit/phpunit: ^9.5
- symfony/dotenv: ^5.4|^6.4|^7.0
- symfony/http-client: ^5.4|^6.4|^7.0
- symfony/orm-pack: ^2.4
- symfony/phpunit-bridge: ^5.4|^6.4|^7.0
- symfony/yaml: ^5.4|^6.4|^7.0
README
Catch every bug in your Symfony application
Installation
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
$ composer require php-sentinel/reporter-bundle
versions
Applications that don't use Symfony Flex
Step 1: Download the Bundle
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
Step 2: Enable the 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], ];
Configuration
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'
Automatic logging by monolog
composer require symfony/monolog-bundle
# config/packages/monolog.yaml monolog: handlers: bug_catcher: type: service id: bug_catcher.handler level: 500
Custom Logging
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")); } }