Module: RequestHeadersLogger::TextFormatter

Defined in:
lib/request_headers_logger/text_formatter.rb

Instance Method Summary collapse

Instance Method Details

#call(severity, time, progname, msg) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/request_headers_logger/text_formatter.rb', line 7

def call(severity, time, progname, msg)
  format(::Logger::Formatter::Format,
         severity_name(severity)[0],
         format_time(time),
         $PID,
         severity_name(severity),
         progname,
         "#{tags_text}#{to_string(msg)}")
end

#format_time(time) ⇒ Object



17
18
19
20
# File 'lib/request_headers_logger/text_formatter.rb', line 17

def format_time(time)
  return format_datetime(time) if respond_to? :format_datetime
  time.strftime(@datetime_format || '%Y-%m-%dT%H:%M:%S.%6N ')
end

#severity_name(severity) ⇒ Object



28
29
30
31
# File 'lib/request_headers_logger/text_formatter.rb', line 28

def severity_name(severity)
  return Logger::Severity.constants[severity].to_s if severity.is_a?(Integer)
  severity
end

#tag_value(key, value) ⇒ Object



37
38
39
40
41
42
# File 'lib/request_headers_logger/text_formatter.rb', line 37

def tag_value(key, value)
  tag = value.to_s
  tag = "#{key}: #{tag}" if RequestHeadersLogger.tag_format.eql? 'key_val'

  "[#{tag}] "
end

#tags_textObject



33
34
35
# File 'lib/request_headers_logger/text_formatter.rb', line 33

def tags_text
  RequestHeadersLogger.tags.collect { |key, val| tag_value(key, val) }.join if RequestHeadersLogger.tags.any?
end

#to_string(msg) ⇒ Object



22
23
24
25
26
# File 'lib/request_headers_logger/text_formatter.rb', line 22

def to_string(msg)
  return msg2str(msg) if respond_to? :format_datetime
  return msg.inspect unless msg.is_a? String
  msg
end