Class: HookDeck::Middleware::Logging
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- HookDeck::Middleware::Logging
- Defined in:
- lib/hookdeck/middlewares/logging.rb
Overview
Logging middleware that provides detailed request/response logging with security-aware filtering. Automatically redacts sensitive information from headers and request/response bodies.
Instance Method Summary collapse
-
#call(env) ⇒ Object
Executes the middleware, logging request and response details.
-
#initialize(app, logger: nil) ⇒ Logging
constructor
Initialize the logging middleware.
Constructor Details
#initialize(app, logger: nil) ⇒ Logging
Initialize the logging middleware
12 13 14 15 |
# File 'lib/hookdeck/middlewares/logging.rb', line 12 def initialize(app, logger: nil) super(app) @logger = logger || default_logger end |
Instance Method Details
#call(env) ⇒ Object
Executes the middleware, logging request and response details
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/hookdeck/middlewares/logging.rb', line 19 def call(env) start_time = Time.now log_request(env) @app.call(env).on_complete do |response_env| duration = Time.now - start_time log_response(response_env, duration) end rescue StandardError => e log_error(e) raise end |