Sha256: ca61bdc1594abf5fb4bfbe9ce3cac6dc17b94d9e719d14cdbc889cb9e0e39199

Contents?: true

Size: 1.11 KB

Versions: 3

Compression:

Stored size: 1.11 KB

Contents

module SemanticLogger
  module Formatters
    class Default < Base
      # Default text log format
      #  Generates logs of the form:
      #    2011-07-19 14:36:15.660235 D [1149:ScriptThreadProcess] Rails -- Hello World
      def call(log, logger)
        # 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.size > 0)

        # 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

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
semantic_logger-3.4.1 lib/semantic_logger/formatters/default.rb
semantic_logger-3.4.0 lib/semantic_logger/formatters/default.rb
semantic_logger-3.3.0 lib/semantic_logger/formatters/default.rb