Sha256: c7f786787026654680182c22b8194a9bd12b3892b45f3e0c0f6664792b26c967
Contents?: true
Size: 866 Bytes
Versions: 1
Compression:
Stored size: 866 Bytes
Contents
module QodexRails module Middleware class RequestLogger def initialize(app) @app = app @mutex = Mutex.new # Mutex for thread-safe logging end def call(env) start_time = Time.now status, headers, response = @app.call(env) end_time = Time.now request = Rack::Request.new(env) filtered_params = request.filtered_parameters # Uses Rails' parameter filtering @mutex.synchronize do # Ensure thread-safe logging Rails.logger.info <<~LOG Request to #{request.path_info} Method: #{request.request_method} Parameters: #{filtered_params.inspect} Response Status: #{status} Time Taken: #{(end_time - start_time) * 1000} ms LOG end [status, headers, response] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
qodex-rails-0.1.0 | lib/qodex-rails/middleware.rb |