Module: Logifyer::Common::JSON

Included in:
Ruby::JSONFormatter::Base
Defined in:
lib/logifyer/common_json.rb

Instance Method Summary collapse

Instance Method Details

#build_event(message, severity, time) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/logifyer/common_json.rb', line 2

def build_event(message, severity, time)
  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[:timestamp].freeze] = current_time(time).iso8601(3) if @config[:timestamp]
  "#{@ext.merge(event).to_json}\n"
end