Hello, I need some help configuring raven-ruby
(v 2.6.3) for a Rails 5 API-only application.
I cannot send any anything to sentry that involves an error in a controller action.
Also, have told raven to capture POST data.
For now, I have set up a controller, to manually trigger errors, then check the presence in sentry.
Sentry config file (config/initializers/sentry.rb):
Raven.configure do |config|
config.environments = %w[staging production]
config.sanitize_fields = Rails.application.config.filter_parameters.map(&:to_s)
config.rails_activesupport_breadcrumbs = true
config.should_capture = Proc.new { |_e| true } # capture everything
config.transport_failure_callback = lambda do |event|
Rails.logger.debug('---- Sentry Raven is broken')
Rails.logger.debug(event.to_hash)
end
config.http_adapter = Faraday.default_adapter
config.processors -= [Raven::Processor::PostData]
end
I get this message in my nginx error log:
INFO -- sentry: ** [Raven] Raven 2.6.3 configured not to capture errors: No host specified, no public_key specified, no secret_key specified, no project_id specified
But when using the rails console for the app, I can see that the Raven.configuration
object clearly has all of those things.
I should also mention that I manually trigger errors from the console with
Raven.capture_exception('<err msg>')
and by running the task, raven:test[<dsn>]
.
For what it’s worth, the app is also configured to use syslog
and lograge
,
but I don’t think those things matter because I can run the app locally and with the appropriate rails environment, I can trigger errors from controller actions.
What am I doing wrong?
Does it matter that I am using the same DSN for staging and production versions of the application?