Skip to content
This repository has been archived by the owner on Aug 29, 2023. It is now read-only.

Commit

Permalink
Merge pull request #147 from ualbertalib/rollbar-implementation
Browse files Browse the repository at this point in the history
on behalf of @astrilet, resubmit the rollbar PR #143
  • Loading branch information
alexstrilets authored Sep 14, 2017
2 parents adba1c4 + 9db8997 commit 97fdcfe
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 4 deletions.
3 changes: 3 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ gem 'i18n'
gem 'globalize', '~>3.1.0'
gem 'dragonfly'

# added rollbar for log monitoring
gem 'rollbar'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
Expand Down
3 changes: 3 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,8 @@ GEM
responders (1.1.2)
railties (>= 3.2, < 4.2)
rolify (5.1.0)
rollbar (2.15.1)
multi_json
rspec (3.5.0)
rspec-core (~> 3.5.0)
rspec-expectations (~> 3.5.0)
Expand Down Expand Up @@ -313,6 +315,7 @@ DEPENDENCIES
rails (~> 3.2.22)
recaptcha
rolify
rollbar
rspec
rspec-rails
rubyzip (~> 1.2.1)
Expand Down
12 changes: 8 additions & 4 deletions app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -140,10 +140,14 @@ def is_org_admin?
return !org_admin.nil?
end

def org_type
org_type = organisation.organisation_type.name
return org_type
end
def org_type
org_type = organisation.organisation_type.name
return org_type
end
# For masking the ID that we send to rollbar
def id_as_hash
Digest::SHA2.hexdigest("#{DMPonline4::Application.config.secret_token}_#{id}")
end


end
54 changes: 54 additions & 0 deletions config/initializers/rollbar.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
Rollbar.configure do |config|
config.access_token = ENV['ROLLBAR_ACCESS_TOKEN']

# Without configuration, Rollbar is enabled in all environments.
# To disable in specific environments, set config.enabled=false.
# Enable rollbar for production only
config.enabled = Rails.env.production? && config.access_token.present?

# By default, Rollbar will try to call the `current_user` controller method
# to fetch the logged-in user object, and then call that object's `id`,
# `username`, and `email` methods to fetch those properties. To customize:
# config.person_method = "my_current_user"
config.person_id_method = 'id_as_hash'
config.person_username_method = 'id_as_hash'
config.person_email_method = 'id_as_hash'

# If you want to attach custom data to all exception and message reports,
# provide a lambda like the following. It should return a hash.
# config.custom_data_method = lambda { {:some_key => "some_value" } }

# Add exception class names to the exception_level_filters hash to
# change the level that exception is reported at. Note that if an exception
# has already been reported and logged the level will need to be changed
# via the rollbar interface.
# Valid levels: 'critical', 'error', 'warning', 'info', 'debug', 'ignore'
# 'ignore' will cause the exception to not be reported at all.
# config.exception_level_filters.merge!('MyCriticalException' => 'critical')
#
# You can also specify a callable, which will be called with the exception instance.
# config.exception_level_filters.merge!('MyCriticalException' => lambda { |e| 'critical' })

# Enable asynchronous reporting (uses girl_friday or Threading if girl_friday
# is not installed)
# config.use_async = true
# Supply your own async handler:
# config.async_handler = Proc.new { |payload|
# Thread.new { Rollbar.process_from_async_handler(payload) }
# }

# Enable asynchronous reporting (using sucker_punch)
# config.use_sucker_punch

# Enable delayed reporting (using Sidekiq)
# config.use_sidekiq
# You can supply custom Sidekiq options:
# config.use_sidekiq 'queue' => 'default'

# If you run your staging application instance in production environment then
# you'll want to override the environment reported by `Rails.env` with an
# environment variable like this: `ROLLBAR_ENV=staging`. This is a recommended
# setup for Heroku. See:
# https://devcenter.heroku.com/articles/deploying-to-a-custom-rails-environment
config.environment = ENV['ROLLBAR_ENV'] || Rails.env
end
1 change: 1 addition & 0 deletions config/secrets.yml.sample
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ MAILER_DEFAULT_HOST: "houston.library.ualberta.ca"
MAILER_FROM: "dittest@ualberta.ca"
EXCEPT_SENDER: "<noreply@ualberta.ca>"
EXCEPT_RECIPIENTS: "dittest@ualberta.ca"
ROLLBAR_ACCESS_TOKEN: ""

0 comments on commit 97fdcfe

Please sign in to comment.