class Tracing::Logger

Public Class Methods

new(active_span:, level: DEBUG) click to toggle source
Calls superclass method
# File lib/tracing/logger.rb, line 11
def initialize(active_span:, level: DEBUG)
  Type! active_span, Proc

  super(nil)
  @active_span = active_span
  self.level = level
end

Public Instance Methods

active_span() click to toggle source
# File lib/tracing/logger.rb, line 52
def active_span
  @active_span.call if @active_span
end
add(severity, message = nil, progname = nil) { || ... } click to toggle source
# File lib/tracing/logger.rb, line 19
def add(severity, message = nil, progname = nil)
  severity ||= Logger::Severity::UNKNOWN

  if severity < @level
    return true
  end

  if progname.nil?
    progname = @progname
  end

  if message.nil?
    if block_given?
      message = yield
    else
      message = progname
      progname = @progname
    end
  end

  span = active_span

  if span && message
    if @formatter
      span.log(event: format_message(format_severity(severity), Time.now, progname, message))
    else
      span.log(event: message, severity: format_severity(severity), progname: progname, pid: $$)
    end
  end

  true
end