class Rack::XIDLogging
Public Class Methods
new(app, root_logger, header_name = 'XID', &block)
click to toggle source
# File lib/unicorn-cuba-base/rack/xid_logging.rb, line 3 def initialize(app, root_logger, header_name = 'XID', &block) @root_logger = root_logger @header_name = header_name @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/unicorn-cuba-base/rack/xid_logging.rb, line 9 def call(env) begin xid = env["HTTP_#{@header_name.upcase.tr('-', '_')}"] if xid env['xid'] = {@header_name => xid} @root_logger.with_meta_context(xid: xid) do return @app.call(env) end else return @app.call(env) end ensure end end