Catch, capture, and view errors within your Rails app via the Error Reporter API.
Add the gem to your Gemfile with:
gem 'reporterr', '~> 0.0.2`
Run:
rails g reporterr:install
Running the above command will generate a config file called config/initializers/reporterr.fb
where you will update with configuration info related to your app later.
ReportErr utilizes the Rails Error Reporting API introduced in Rails 7.0
Running:
rails g reporterr MODEL
will create three files: a migration, a model, and a subscriber. For example,
running rails g reporter ErrorEvent
will create migrate/20240109221953_create_error_event.rb
,
models/error_event.rb
, and config/initializers/error_event_subscriber.rb
.
The generated table will contain two string attributes: error
, severity
, and one json attribute: context
.
You'll notice that the model file serializes context
. The Error Reporting API automatically creates a context
hash which you can augment with your own data. reporterr
stores all of the context data as json.
Note: reporterr
is built to handle as many Error models as you wish to create. There will be a uniqe table and subscriber for each error model that you create. Happy error handling!
At this point you can run bundle exec rails db:migrate
, but you may add to these files however you wish before running your migration.
The reporterr
engine generates a route, /reporterr
, that (for now) lives exclusively in the engine. Visiting this route will allow you to view and filter all of your Error data that is captured by reporterr
across all of the models that you have created.
The gem is available as open source under the terms of the MIT License.
Everyone interacting in the ReportErr project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.