Sha256: 8029ae5bb250e5a3ccb89d0b83588c5a7fd1f9a6817aa7035be4b7cc0a2007d7

Contents?: true

Size: 842 Bytes

Versions: 13

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

13 entries across 13 versions & 1 rubygems

Version Path
upperkut-0.7.0 lib/upperkut/logging.rb
upperkut-0.6.0 lib/upperkut/logging.rb
upperkut-0.5.2 lib/upperkut/logging.rb
upperkut-0.5.1 lib/upperkut/logging.rb
upperkut-0.5.0 lib/upperkut/logging.rb
upperkut-0.4.6 lib/upperkut/logging.rb
upperkut-0.4.5 lib/upperkut/logging.rb
upperkut-0.4.4 lib/upperkut/logging.rb
upperkut-0.4.3 lib/upperkut/logging.rb
upperkut-0.4.2 lib/upperkut/logging.rb
upperkut-0.4.1 lib/upperkut/logging.rb
upperkut-0.4.0 lib/upperkut/logging.rb
upperkut-0.3.0 lib/upperkut/logging.rb