Class: Sapience::Formatters::Default

Inherits:
Base
  • Object
show all
Defined in:
lib/sapience/formatters/default.rb

Instance Attribute Summary

Attributes inherited from Base

#log_application, #log_host, #precision, #time_format

Instance Method Summary collapse

Methods inherited from Base

#format_time, #initialize

Constructor Details

This class inherits a constructor from Sapience::Formatters::Base

Instance Method Details

#call(log, _logger) ⇒ Object

Default text log format

Generates logs of the form:
  2011-07-19 14:36:15.660235 D [1149:ScriptThreadProcess] Rails -- Hello World


8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/sapience/formatters/default.rb', line 8

def call(log, _logger) # rubocop:disable AbcSize, PerceivedComplexity, CyclomaticComplexity
  # Date & time
  message = time_format.nil? ? "" : "#{format_time(log.time)} "

  # Log level and process info
  message += "#{log.level_to_s} [#{log.process_info}]"

  # Tags
  message += " " + log.tags.collect { |tag| "[#{tag}]" }.join(" ") if log.tags && !log.tags.empty?

  # Duration
  message += " (#{log.duration_human})" if log.duration

  # Class / app name
  message += " #{log.name}"

  # Log message
  message += " -- #{log.message}" if log.message

  # Payload
  if (payload = log.payload_to_s)
    message += " -- " + payload
  end

  # Exceptions
  if log.exception
    message += " -- Exception: #{log.exception.class}: #{log.exception.message}\n"
    message += log.backtrace_to_s
  end
  message
end