Module: LogFormatter::Common::Text

Included in:
Ruby::TextFormatter::Base
Defined in:
lib/log_formatter/common_text.rb

Instance Method Summary collapse

Instance Method Details

#build_event(message, severity, time, progname) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/log_formatter/common_text.rb', line 2

def build_event(message, severity, time, progname)
  data = message
  if data.is_a?(String) && data.start_with?('{'.freeze)
    data = (JSON.parse(message) rescue nil) || message
  end

  event = case data
          when Hash
            data
          else
            {"message".freeze => msg2str(data)}
          end

  event[@config[:level].freeze] ||= severity if @config[:level]
  event[@config[:type].freeze] = progname if @config[:type]
  event[@config[:app].freeze] = @app if @config[:app]
  event[@config[:timestamp].freeze] = current_time(time).iso8601 if @config[:timestamp]
  log_msg = []
  @ext.merge(event).each do |k, v|
    log_msg << "#{k}:#{v}"
  end
  log_msg.join("\t")+"\n"
end