class CmLogger::SidekiqFormatter

Public Instance Methods

call(severity, time, program_name, message) click to toggle source
# File lib/sidekiq_formatter.rb, line 5
def call(severity, time, program_name, message)
  log_hash = {
    time: time.utc.iso8601(3),
    pid: ::Process.pid,
    tid: tid,
    severity: severity,
    message: message,
    worker_name: extract_worker_name,
    jid: extract_jid,
    elapsed: extract_elapsed
  }.compact

  log_hash.keys.map do |key|
    "#{key}=#{sanitize(log_hash[key])}"
  end.join(" ") + "\n"
end

Private Instance Methods

extract_elapsed() click to toggle source
# File lib/sidekiq_formatter.rb, line 42
def extract_elapsed
  ctx[:elapsed]
end
extract_jid() click to toggle source
# File lib/sidekiq_formatter.rb, line 38
def extract_jid
  ctx[:jid]
end
extract_worker_name() click to toggle source
# File lib/sidekiq_formatter.rb, line 34
def extract_worker_name
  ctx[:class]
end
sanitize(message) click to toggle source
# File lib/sidekiq_formatter.rb, line 24
def sanitize(message)
  result = message.to_s.gsub('"', '\'').gsub("\n", ' ').slice(0, 100)

  if /\s/.match?(result)
    "\"#{result}\""
  else
    result
  end
end