Sha256: 5ec73e71eb5d1d305c6cef6c935def97be91938090d2f73004ffc97739512d09

Contents?: true

Size: 648 Bytes

Versions: 4

Compression:

Stored size: 648 Bytes

Contents

require 'forwardable'

class Logasm
  module Adapters
    class StdoutAdapter
      extend Forwardable

      attr_reader :logger

      def_delegators :@logger, :debug?, :info?, :warn?, :error?, :fatal?

      def initialize(level, *)
        @logger = Logger.new(STDOUT)
        @logger.level = level
      end

      def log(level, metadata = {})
        message = metadata[:message]
        data = metadata.select { |key, value| key != :message }
        log_data = [
          message,
          data.empty? ? nil : Utils.generate_json(data)
        ].compact.join(' ')

        @logger.public_send level, log_data
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
logasm-jruby-1.2.1 lib/logasm/adapters/stdout_adapter.rb
logasm-1.2.1 lib/logasm/adapters/stdout_adapter.rb
logasm-jruby-1.2.0 lib/logasm/adapters/stdout_adapter.rb
logasm-1.2.0 lib/logasm/adapters/stdout_adapter.rb