Class: Saddle::Middleware::Logging::AirbrakeLogger
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- Saddle::Middleware::Logging::AirbrakeLogger
- Defined in:
- lib/saddle/middleware/logging/airbrake.rb
Overview
Public: Reports exceptions to Airbrake
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, airbrake_api_key = nil) ⇒ AirbrakeLogger
constructor
A new instance of AirbrakeLogger.
Constructor Details
#initialize(app, airbrake_api_key = nil) ⇒ AirbrakeLogger
Returns a new instance of AirbrakeLogger.
14 15 16 17 |
# File 'lib/saddle/middleware/logging/airbrake.rb', line 14 def initialize(app, airbrake_api_key=nil) super(app) @airbrake_api_key = airbrake_api_key end |
Instance Method Details
#call(env) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/saddle/middleware/logging/airbrake.rb', line 19 def call(env) begin @app.call(env) rescue => e # If we don't have an api key, use the default config begin if @airbrake_api_key ::Airbrake.notify(e, {:api_key => @airbrake_api_key} ) else ::Airbrake.notify(e) end rescue # Never ever fail because we couldn't talk to Airbrake end # Re-raise the error raise end end |