Sha256: 42f1bc015cac7a5c2882b2b60e3a15beeed045cf5abe11926713cfc194132093

Contents?: true

Size: 842 Bytes

Versions: 9

Compression:

Stored size: 842 Bytes

Contents

require 'logger'
require 'time'
require 'socket'

module Upperkut
  module Logging
    class DefaultFormatter < Logger::Formatter
      def call(severity, time, _program_name, message)
        "upperkut: #{time.utc.iso8601(3)} hostname=#{Socket.gethostname} "\
        "pid=#{::Process.pid} severity=#{severity} #{format_message(message)}\n"
      end

      private

      def format_message(message)
        return "msg=#{message} " unless message.is_a?(Hash)

        message.each_with_object('') do |(k, v), memo|
          memo << "#{k}=#{v}\s"
          memo
        end
      end
    end

    def self.initialize_logger
      logger = Logger.new($stdout)
      logger.level     = Logger::INFO
      logger.formatter = DefaultFormatter.new
      logger
    end

    def self.logger
      @logger ||= initialize_logger
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
upperkut-1.0.4 lib/upperkut/logging.rb
upperkut-1.0.2 lib/upperkut/logging.rb
upperkut-1.0.0.rc lib/upperkut/logging.rb
upperkut-0.8.1 lib/upperkut/logging.rb
upperkut-0.8.0 lib/upperkut/logging.rb
upperkut-0.7.5 lib/upperkut/logging.rb
upperkut-0.7.4 lib/upperkut/logging.rb
upperkut-0.7.2 lib/upperkut/logging.rb
upperkut-0.7.1 lib/upperkut/logging.rb