Sha256: 2edcbf5645f26ef3315c5c46f3ec3322ecc6fc2d3509d444ee7fed1635160fc8

Contents?: true

Size: 743 Bytes

Versions: 7

Compression:

Stored size: 743 Bytes

Contents

module LiveQA
  ##
  # Display formated log
  class FormatedLogger

    class << self

      def build(logger)
        return new(logger) if logger
        return new(Rails.logger) if defined?(Rails)

        new(::Logger.new(STDOUT))
      end

    end

    attr_reader :logger

    PREFIX = '[LiveQA]'.freeze
    METHODS = %i[debug info warn error].freeze

    def initialize(logger)
      @logger = logger
    end

    METHODS.each do |method|
      define_method(method) do |message|
        log(method, message)
      end
    end

    private

    def log(type, message)
      return unless configurations.log

      logger.send(type, "#{PREFIX} #{message}")
    end

    def configurations
      LiveQA.configurations
    end

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
liveqa-1.9.6 lib/liveqa/formated_logger.rb
liveqa-1.9.5 lib/liveqa/formated_logger.rb
liveqa-1.9.4 lib/liveqa/formated_logger.rb
liveqa-1.9.3 lib/liveqa/formated_logger.rb
liveqa-1.9.2 lib/liveqa/formated_logger.rb
liveqa-1.9.1 lib/liveqa/formated_logger.rb
liveqa-1.9.0 lib/liveqa/formated_logger.rb