Class: KeyValueLogging::LoggerMiddleware

Inherits:
Rails::Rack::Logger
  • Object
show all
Defined in:
lib/key_value_logging/logger_middleware.rb

Instance Method Summary collapse

Instance Method Details

#compute_tags(request) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/key_value_logging/logger_middleware.rb', line 5

def compute_tags(request)
  tag_value_pairs = @taggers.map do |tag, key_or_proc|
    value = case key_or_proc
    when Proc
      key_or_proc.call(request)
    when Symbol
      request.send(key_or_proc)
    else
      key_or_proc
    end
    [tag, value]
  end
  Hash[*tag_value_pairs.flatten]
end