Class: Profiler::Collectors::LogCollector::CaptureLogger

Inherits:
Logger
  • Object
show all
Defined in:
lib/profiler/collectors/log_collector.rb

Instance Method Summary collapse

Constructor Details

#initializeCaptureLogger

Returns a new instance of CaptureLogger.



12
13
14
# File 'lib/profiler/collectors/log_collector.rb', line 12

def initialize
  super(File::NULL)
end

Instance Method Details

#<<(msg) ⇒ Object



30
31
32
# File 'lib/profiler/collectors/log_collector.rb', line 30

def <<(msg)
  add(0, msg.to_s)
end

#add(severity, message = nil, progname = nil) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/profiler/collectors/log_collector.rb', line 16

def add(severity, message = nil, progname = nil)
  msg = message || progname
  msg = yield if block_given? && msg.nil?
  return true if msg.nil?

  Thread.current[:profiler_logs] ||= []
  Thread.current[:profiler_logs] << {
    level: SEVERITY_LABELS[severity] || "UNKNOWN",
    message: msg.to_s.strip,
    timestamp: Time.now.iso8601(3)
  }
  true
end