module Lumberjack::TaggedLoggerSupport
def clear_tags!
def clear_tags! tag("tagged" => nil) end
def pop_tags(size = 1)
def pop_tags(size = 1) tagged_values = Array(@tags["tagged"]) tagged_values = ((tagged_values.size > size) ? tagged_values[0, tagged_values.size - size] : nil) tag("tagged" => tagged_values) end
def push_tags(*tags)
def push_tags(*tags) tagged(*tags) end
def tagged(*tags, &block)
If a tag looks like "key:value" or "key=value", it will be added as a key value pair.
Compatibility with ActiveSupport::TaggedLogging which only supports adding tags as strings.
def tagged(*tags, &block) tag_hash = {} tags.flatten.each do |tag| tagged_values = Array(tag_hash["tagged"] || self.tags["tagged"]) tag_hash["tagged"] = tagged_values + [tag] end tag(tag_hash, &block) end