Class: BammLog::ExceptionMiddleware
- Inherits:
-
Object
- Object
- BammLog::ExceptionMiddleware
- Defined in:
- lib/bamm_log/exception_middleware.rb
Instance Attribute Summary collapse
-
#env ⇒ Object
readonly
Returns the value of attribute env.
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
-
#request ⇒ Object
readonly
Returns the value of attribute request.
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, options = {}) ⇒ ExceptionMiddleware
constructor
A new instance of ExceptionMiddleware.
Constructor Details
#initialize(app, options = {}) ⇒ ExceptionMiddleware
Returns a new instance of ExceptionMiddleware.
7 8 9 |
# File 'lib/bamm_log/exception_middleware.rb', line 7 def initialize(app, ={}) @app = app end |
Instance Attribute Details
#env ⇒ Object (readonly)
Returns the value of attribute env.
5 6 7 |
# File 'lib/bamm_log/exception_middleware.rb', line 5 def env @env end |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
5 6 7 |
# File 'lib/bamm_log/exception_middleware.rb', line 5 def logger @logger end |
#request ⇒ Object (readonly)
Returns the value of attribute request.
5 6 7 |
# File 'lib/bamm_log/exception_middleware.rb', line 5 def request @request end |
Instance Method Details
#call(env) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/bamm_log/exception_middleware.rb', line 11 def call(env) begin @request_id = SecureRandom.base64(24).tr('+/=lIO0', 'pqrsxyz') @start_time = Time.now @env = env build_request log_start log_params begin call = @app.call(env) @end_time = Time.now log_end call rescue Exception => e @end_time = Time.now log_exception(e) log_end @app.call(env) end rescue Exception => e log_exception(e) end end |