Sha256: bae6f7ea712073f8af78cca43b533ce365b34a640dc7ecff4351595311ff823a
Contents?: true
Size: 564 Bytes
Versions: 5
Compression:
Stored size: 564 Bytes
Contents
# Wrap the Logger object with convenience methods. class CarrotRpc::TaggedLog attr_reader :logger, :tags def initialize(logger:, tags:) @logger = logger @tags = *tags end def level logger.level end def level=(level) logger.level = level end # Dyanmically define logger methods with a tagged reference. Makes filtering of logs possible. %i(debug info warn error fatal unknown).each do |level| define_method(level) do |msg = nil, &block| logger.tagged(tags) { logger.send(level, msg || block.call) } end end end
Version data entries
5 entries across 5 versions & 1 rubygems