Class: Lepus::Consumers::Middlewares::ExceptionLogger
- Inherits:
-
Middleware
- Object
- Middleware
- Lepus::Consumers::Middlewares::ExceptionLogger
- Defined in:
- lib/lepus/consumers/middlewares/exception_logger.rb
Overview
A middleware that logs exceptions raised by downstream middleware/consumers. Default logger is Lepus.logger.
Instance Method Summary collapse
- #call(message, app) ⇒ Object
-
#initialize(logger: Lepus.logger) ⇒ ExceptionLogger
constructor
A new instance of ExceptionLogger.
Constructor Details
#initialize(logger: Lepus.logger) ⇒ ExceptionLogger
Returns a new instance of ExceptionLogger.
11 12 13 14 15 |
# File 'lib/lepus/consumers/middlewares/exception_logger.rb', line 11 def initialize(logger: Lepus.logger, **) super @logger = logger end |
Instance Method Details
#call(message, app) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/lepus/consumers/middlewares/exception_logger.rb', line 17 def call(, app) app.call() rescue => err # Log error message; let outer layers decide how to handle the exception @logger.error(err.) raise err end |