Sha256: 57b22f7902e62652c65d3993e3164e0c92270c29917626bac648d36ec37aa7f5

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literals: true

module Lumberjack
  # An entry in a log is a data structure that captures the log message as well as
  # information about the system that logged the message.
  class LogEntry
    attr_accessor :time, :message, :severity, :progname, :pid, :unit_of_work_id
    
    TIME_FORMAT = "%Y-%m-%dT%H:%M:%S".freeze
    
    def initialize(time, severity, message, progname, pid, unit_of_work_id)
      @time = time
      @severity = (severity.is_a?(Integer) ? severity : Severity.label_to_level(severity))
      @message = message
      @progname = progname
      @pid = pid
      @unit_of_work_id = unit_of_work_id
    end
    
    def severity_label
      Severity.level_to_label(severity)
    end
    
    def to_s
      buf = "[#{time.strftime(TIME_FORMAT)}.#{(time.usec / 1000.0).round.to_s.rjust(3, '0')} #{severity_label} #{progname}(#{pid})"
      if unit_of_work_id
        buf << " #"
        buf << unit_of_work_id
      end
      buf << "] "
      buf << message
    end
    
    def inspect
      to_s
    end
  end
end

Version data entries

4 entries across 4 versions & 3 rubygems

Version Path
honeybadger-4.5.3 vendor/bundle/ruby/2.6.0/gems/lumberjack-1.0.13/lib/lumberjack/log_entry.rb
alimentos-alu0100945645-0.1.0 vendor/bundle/ruby/2.3.0/gems/lumberjack-1.0.13/lib/lumberjack/log_entry.rb
alimentos-alu0100945645-1.0.0 vendor/bundle/ruby/2.3.0/gems/lumberjack-1.0.13/lib/lumberjack/log_entry.rb
lumberjack-1.0.13 lib/lumberjack/log_entry.rb