class SemanticLogger::Formatters::Default

Default non-colored text log output

Public Instance Methods

call(log, logger) click to toggle source

Default text log format

Generates logs of the form:
  2011-07-19 14:36:15.660235 D [1149:ScriptThreadProcess] Rails -- Hello World
# File lib/semantic_logger/formatters/default.rb, line 79
def call(log, logger)
  self.log    = log
  self.logger = logger

  [time, level, process_info, tags, named_tags, duration, name, message, payload, exception].compact.join(" ")
end
duration() click to toggle source

Duration

# File lib/semantic_logger/formatters/default.rb, line 49
def duration
  "(#{log.duration_human})" if log.duration
end
exception() click to toggle source

Exception

# File lib/semantic_logger/formatters/default.rb, line 72
def exception
  "-- Exception: #{log.exception.class}: #{log.exception.message}\n#{log.backtrace_to_s}" if log.exception
end
file_name_and_line() click to toggle source

Ruby file name and line number that logged the message.

# File lib/semantic_logger/formatters/default.rb, line 19
def file_name_and_line
  file, line = log.file_name_and_line(true)
  "#{file}:#{line}" if file
end
level() click to toggle source

Log level

# File lib/semantic_logger/formatters/default.rb, line 9
def level
  log.level_to_s
end
message() click to toggle source

Log message

# File lib/semantic_logger/formatters/default.rb, line 59
def message
  "-- #{log.message}" if log.message
end
name() click to toggle source

Class / app name

# File lib/semantic_logger/formatters/default.rb, line 54
def name
  log.name
end
named_tags() click to toggle source

Named Tags

# File lib/semantic_logger/formatters/default.rb, line 39
def named_tags
  named_tags = log.named_tags
  return if named_tags.nil? || named_tags.empty?

  list = []
  named_tags.each_pair { |name, value| list << "#{name}: #{value}" }
  "{#{list.join(', ')}}"
end
payload() click to toggle source

Payload

# File lib/semantic_logger/formatters/default.rb, line 64
def payload
  pl = log.payload_to_s
  return unless pl

  "-- #{pl}"
end
process_info() click to toggle source

Returns [String] the available process info Example:

[18934:thread_name test_logging.rb:51]
# File lib/semantic_logger/formatters/default.rb, line 27
def process_info
  process_id = "#{pid}:" if pid
  fname      = file_name_and_line
  fname ? "[#{process_id}#{thread_name} #{fname}]" : "[#{process_id}#{thread_name}]"
end
tags() click to toggle source

Tags

# File lib/semantic_logger/formatters/default.rb, line 34
def tags
  "[#{log.tags.join('] [')}]" if log.tags && !log.tags.empty?
end
thread_name() click to toggle source

Name of the thread that logged the message.

# File lib/semantic_logger/formatters/default.rb, line 14
def thread_name
  format("%.30s", log.thread_name)
end