module Faraday::DetailedLogger::TaggedLogging::Formatter

Constants

BLANK

Public Instance Methods

call(severity, timestamp, progname, msg) click to toggle source
Calls superclass method
# File lib/faraday/detailed_logger/tagged_logging.rb, line 19
def call(severity, timestamp, progname, msg)
  super(severity, timestamp, progname, "#{tags_text}#{msg}")
end
clear_tags!() click to toggle source
# File lib/faraday/detailed_logger/tagged_logging.rb, line 40
def clear_tags!
  current_tags.clear
end
current_tags() click to toggle source
# File lib/faraday/detailed_logger/tagged_logging.rb, line 44
def current_tags
  @thread_key ||= "faraday_detailed_logger_tags:#{object_id}"
  Thread.current[@thread_key] ||= []
end
pop_tags(size = 1) click to toggle source
# File lib/faraday/detailed_logger/tagged_logging.rb, line 36
def pop_tags(size = 1)
  current_tags.pop size
end
push_tags(*tags) click to toggle source
# File lib/faraday/detailed_logger/tagged_logging.rb, line 30
def push_tags(*tags)
  tags.flatten.reject(&BLANK).tap do |new_tags|
    current_tags.concat new_tags
  end
end
tagged(*tags) { |self| ... } click to toggle source
# File lib/faraday/detailed_logger/tagged_logging.rb, line 23
def tagged(*tags)
  new_tags = push_tags(*tags)
  yield self
ensure
  pop_tags(new_tags.size)
end

Private Instance Methods

tags_text() click to toggle source
# File lib/faraday/detailed_logger/tagged_logging.rb, line 51
def tags_text
  tags = current_tags
  if tags.any?
    tags.map { |tag| "[#{tag}] " }.join
  end
end