php-bug-catcher / bug-catcher
Catch all bugs from all your applications in one place
Installs: 45
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 1
Open Issues: 2
Type:symfony-bundle
Requires
- php: >=8.3
- api-platform/core: ^3.3
- easycorp/easyadmin-bundle: ^4.10
- kregel/exception-probe: ^1.0
- symfony/asset: 7.1.*
- symfony/console: 7.1.*
- symfony/form: 7.1.*
- symfony/framework-bundle: ^7.1
- symfony/http-client: 7.1.*
- symfony/lock: 7.1.*
- symfony/mime: 7.1.*
- symfony/monolog-bundle: ^3.0
- symfony/orm-pack: ^2.4
- symfony/rate-limiter: 7.1.*
- symfony/security-bundle: ^7.1
- symfony/serializer: 7.1.*
- symfony/stimulus-bundle: ^2.17
- symfony/string: 7.1.*
- symfony/translation: ^7.1
- symfony/twig-bundle: ^7.1
- symfony/uid: 7.1.*
- symfony/ux-icons: ^2.17
- symfony/ux-live-component: ^2.17
- symfony/validator: 7.1.*
- symfony/web-link: 7.1.*
- symfony/webpack-encore-bundle: ^2.1
- tito10047/doctrine-transaction: ^0.1.1
- tito10047/php-sparkline: ^1.0
- twig/extra-bundle: ^2.12|^3.0
- twig/string-extra: ^3.10
- twig/twig: ^2.12|^3.0
- zenstruck/browser: ^1.8
Requires (Dev)
- phpunit/phpunit: ^9.5
- symfony/css-selector: ^7.1
- symfony/doctrine-messenger: ^7.1
- symfony/dom-crawler: ^7.1
- symfony/dotenv: ^7.1
- symfony/messenger: ^7.1
- symfony/phpunit-bridge: ^7.1
- symfony/runtime: ^7.1
- symfony/yaml: ^7.1
- zenstruck/foundry: ^2.0
Conflicts
This package is auto-updated.
Last update: 2024-12-04 14:44:49 UTC
README
Catch every bug in all your PHP applications in one place
Installation
By composer
composer create-project php-bug-catcher/skeleton your-project-name
Manual
Features
- Ping collector. Ping Your projects in defined intervals to see if they are up and running.
- Log viewer with stack trace, code preview and history of all errors.
- Custom records. Create custom records to track any data you want.
- Configurable Notification. Get notified with favicon, sound email or sms if error count reaches configured threshold.
- Access controll Create users with acces to specific projects and its logs. You can add access to your client to see only specific part og logs.
- Customizable. You can add your own components to the dashboard.
- Easy to use. Just add a few lines of code to your project and you are ready to go.
- Withholding. You can hide errors until they reach a configured threshold.
- Automatic cleanup. Stack trace is optional and is cleaned up after the error is fixed.
Roadmap
- Make it work
- Create notification system
- Create basic tests
- Make more tests
- Autoconfiguration
- Create installer
- Release first version
- Email notification component
- Ping history graph component
- Errors history graph component
First Run
Create database
# .env.local APP_ENV=dev DATABASE_URL=mysql://user:password@localhost:3306/bug_catcher
php bin/console doctrine:database:create php bin/console doctrine:migrations:diff php bin/console doctrine:migrations:migrate php bin/console app:create-user username password yarn install yarn build
Start the built-in web server
You can use Nginx or Apache, but the built-in web server works great:
php bin/console server:run
Now check out the site at http://localhost:8000
Setup cron for collection status codes
# /etc/crontab
* * * * * www-data php /var/www/bug-catcher/bin/console app:ping-collector > /dev/null 2>&1
#optimize records by grouping them by 5 minutes older than 1 day
0 * * * * www-data php /var/www/bug-catcher/bin/console app:record-optimizer --past=1 --precision=5
#optimize records by grouping them by 60 minutes older than 7 days
0 0 * * * www-data php /var/www/bug-catcher/bin/console app:record-optimizer --past=7 --precision=60
Enable Logging
Setup your Symfony applications
See package php-bug-catcher/bug-catcher-reporter-bundle
Setup plain PHP applications
See package php-bug-catcher/bug-catcher-curl-reporter
Modifications
See docs/extending.md for more information on how to extend the dashboard.
See docs/custom_record.md for more information on how to create custom record items.
See docs/notifiers.md for more information on how to create custom notifiers.
Have Ideas, Feedback or an Issue?
If you have suggestions or questions, please feel free to open an issue on this repository.
Have fun!