Skip to content

Tracking ⚠️ exceptions for Rails application and store them in database.

License

Notifications You must be signed in to change notification settings

rails-engine/exception-track

Repository files navigation

ExceptionTrack

Tracking exceptions for Rails application store them in database.

This gem is base on exception_notification.

中文介绍和使用说明

Gem Version build codecov.io

2017-02-17 12 35 18

Installation

Add this line to your application's Gemfile:

gem 'exception-track'

And then execute:

$ bundle

Generate migration and config files

$ rails g exception_track:install

And mount routers:

config/router.rb

Rails.application.routes.draw do
  mount ExceptionTrack::Engine => "/exception-track"
end

Migrate database:

bundle exec rails db:migrate

Now you can open: http://localhost:3000/exception-track

Configuration

Add config/initializers/exception-track.rb

ExceptionTrack.configure do
  # environments for store Exception log in to database.
  # default: [:development, :production]
  # self.environments = %i(production)
end

exception_notification Configuration

You can config exception_notification by itself's way, more documentations please visit:

https://github.com/smartinez87/exception_notification/

Router admin authenticate

# lib/admin_constraint.rb
class AdminConstraint
  def matches?(request)
    return false if !request.session[:user_id]
    user = User.find(request.session[:user_id])
    user && user.admin?
  end
end

# config/router.rb
require 'admin_constraint'
mount ExceptionTrack::Engine => "/exception-track", constraints: AdminConstraint.new

With Devise

# config/routes.rb
authenticate :user, ->(u) { u.admin? } do
  mount ExceptionTrack::Engine => "/exception-track"
end

More examples: Sidekiq Web Document

License

The gem is available as open source under the terms of the MIT License.