Sha256: 703edc972918bcb6af290c2d3f10d35ad383a9ec50439ed09a86b950aee209f3

Contents?: true

Size: 778 Bytes

Versions: 1

Compression:

Stored size: 778 Bytes

Contents

# frozen_string_literal: true

require "delegate"

require "dry/logger/constants"
require "dry/logger/backends/core"

module Dry
  module Logger
    module Backends
      # Logger proxy is used for regular loggers that don't work with log entries
      #
      # @since 1.0.0
      # @api private
      class Proxy < SimpleDelegator
        include Core

        # @since 0.1.0
        # @api public
        attr_accessor :log_if

        LOG_METHODS.each do |method|
          define_method(method) { |entry| __getobj__.public_send(method, entry.message) }
        end

        # @since 1.0.0
        # @api private
        def log?(entry)
          if log_if
            log_if.call(entry)
          else
            true
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dry-logger-1.0.0 lib/dry/logger/backends/proxy.rb