Module: ActiveSupport::TaggedLogging::Formatter

Defined in:
activesupport/lib/active_support/tagged_logging.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#call(severity, timestamp, progname, msg) ⇒ Object

This method is invoked when a log event occurs.



31
32
33
# File 'activesupport/lib/active_support/tagged_logging.rb', line 31

def call(severity, timestamp, progname, msg)
  super(severity, timestamp, progname, tag_stack.format_message(msg))
end

#clear_tags!Object



50
51
52
# File 'activesupport/lib/active_support/tagged_logging.rb', line 50

def clear_tags!
  tag_stack.clear
end

#current_tagsObject



60
61
62
# File 'activesupport/lib/active_support/tagged_logging.rb', line 60

def current_tags
  tag_stack.tags
end

#pop_tags(count = 1) ⇒ Object



46
47
48
# File 'activesupport/lib/active_support/tagged_logging.rb', line 46

def pop_tags(count = 1)
  tag_stack.pop_tags(count)
end

#push_tags(*tags) ⇒ Object



42
43
44
# File 'activesupport/lib/active_support/tagged_logging.rb', line 42

def push_tags(*tags)
  tag_stack.push_tags(tags)
end

#tag_stackObject



54
55
56
57
58
# File 'activesupport/lib/active_support/tagged_logging.rb', line 54

def tag_stack
  # We use our object ID here to avoid conflicting with other instances
  @thread_key ||= "activesupport_tagged_logging_tags:#{object_id}"
  IsolatedExecutionState[@thread_key] ||= TagStack.new
end

#tagged(*tags) ⇒ Object



35
36
37
38
39
40
# File 'activesupport/lib/active_support/tagged_logging.rb', line 35

def tagged(*tags)
  pushed_count = tag_stack.push_tags(tags).size
  yield self
ensure
  pop_tags(pushed_count)
end

#tags_textObject



64
65
66
# File 'activesupport/lib/active_support/tagged_logging.rb', line 64

def tags_text
  tag_stack.format_message("")
end