Sha256: 6ac8661d130cac1507cf7725e8a3e17d7a36d627c2b4dc2c3c97774ace9016c0
Contents?: true
Size: 1 KB
Versions: 20
Compression:
Stored size: 1 KB
Contents
# frozen_string_literal: true require 'bbk/utils/logger' module BBK module Utils class ProxyLogger attr_reader :tags, :logger def initialize(logger, tags:) @logger = logger @tagged = @logger.respond_to?(:tagged) @tags = [tags].flatten end def add_tags(*tags) @tags += tags.flatten @tags = @tags.uniq end def method_missing(method, *args, &block) super unless logger.respond_to?(method) if @tagged current_tags = tags - logger.formatter.current_tags logger.tagged(current_tags) { logger.send(method, *args, &block) } else logger.send(method, *args, &block) end end def respond_to?(name, include_private=false) logger.send(:respond_to?, name, include_private) || super end def respond_to_missing?(method_name, include_private = false) logger.send(:respond_to_missing?, method_name, include_private) || super end end end end
Version data entries
20 entries across 20 versions & 1 rubygems