Class: Core::ParamFilter

Inherits:
Object show all
Defined in:
lib/svcbase/corelogger.rb

Overview

truncate long parameters, mask password

Instance Method Summary collapse

Instance Method Details

#filter(paramhash, maskkeys) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/svcbase/corelogger.rb', line 27

def filter(paramhash, maskkeys)
  paramhash.each do |key, value|
    next paramhash[key] = '*' if maskkeys&.include?(key.to_sym)
    next

    case value
    when String
      paramhash[key] = "#{value[1..128]}... (#{value.length})" if value.length > 128
    when Hash, Array
      value = value.to_json.to_s
      paramhash[key] = "#{value[1..128]}... (#{value.length})" if value.length > 128
    end
  end
  paramhash
end