class SemanticLogger::Formatters::Default

Default non-colored text log output

def call(log, logger)

2011-07-19 14:36:15.660235 D [1149:ScriptThreadProcess] Rails -- Hello World
Generates logs of the form:
Default text log format
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

def duration

Duration
def duration
  "(#{log.duration_human})" if log.duration
end

def exception

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

def file_name_and_line

Ruby file name and line number that logged the message.
def file_name_and_line
  file, line = log.file_name_and_line(true)
  "#{file}:#{line}" if file
end

def level

Log level
def level
  log.level_to_s
end

def message

Log message
def message
  "-- #{log.message}" if log.message
end

def name

Class / app name
def name
  log.name
end

def named_tags

Named Tags
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

def payload

Payload
def payload
  pl = log.payload_to_s
  return unless pl
  "-- #{pl}"
end

def process_info

[18934:thread_name test_logging.rb:51]
Example:
Returns [String] the available process info
def process_info
  process_id = "#{pid}:" if pid
  fname      = file_name_and_line
  fname ? "[#{process_id}#{thread_name} #{fname}]" : "[#{process_id}#{thread_name}]"
end

def tags

Tags
def tags
  "[#{log.tags.join('] [')}]" if log.tags && !log.tags.empty?
end

def thread_name

Name of the thread that logged the message.
def thread_name
  format("%.30s", log.thread_name)
end