class Loggem::Event

Constants

STACKTRACE_SIZE

Public Class Methods

new(arguments = {}) click to toggle source
# File lib/loggem/event.rb, line 4
def initialize(arguments = {})
  @data = {}
  @arguments = arguments
end

Public Instance Methods

data() click to toggle source
# File lib/loggem/event.rb, line 11
def data
  parse_arguments @arguments
end

Private Instance Methods

parse(object) click to toggle source
# File lib/loggem/event.rb, line 32
def parse(object)
  case object
    when Exception
      return {message: object.message} if object.backtrace.nil?

      {message: object.message, stacktrace: object.backtrace[0..(STACKTRACE_SIZE - 1)].join("\n")}

    when Hash
      object

    else
      {message: object.to_s.strip}

  end
end
parse_arguments(arguments) click to toggle source
# File lib/loggem/event.rb, line 23
def parse_arguments(arguments)
  @data.merge! at: arguments.fetch(:level)
  @data.merge! parse arguments.fetch(:message)
  @data.merge! parse arguments.fetch(:payload, {})
  @data.merge! arguments.fetch(:context, {})
end