class Semlogr::Events::LogEvent

Attributes

error[R]
properties[R]
severity[R]
template[R]
timestamp[R]

Public Class Methods

create(severity, template, properties) click to toggle source
# File lib/semlogr/events/log_event.rb, line 23
def self.create(severity, template, properties)
  template = Templates::Parser.parse(template)

  LogEvent.new(severity, template, properties)
end
new(severity, template, error: nil, **properties) click to toggle source
# File lib/semlogr/events/log_event.rb, line 15
def initialize(severity, template, error: nil, **properties)
  @timestamp = Time.now.utc
  @severity = severity
  @template = template
  @error = error
  @properties = properties
end

Public Instance Methods

add_property(properties) click to toggle source
# File lib/semlogr/events/log_event.rb, line 33
def add_property(properties)
  @properties.merge!(properties)
end
add_property_if_absent(properties) click to toggle source
# File lib/semlogr/events/log_event.rb, line 37
def add_property_if_absent(properties)
  @properties.merge!(properties) { |_, old, _| old }
end
get_property(name) click to toggle source
# File lib/semlogr/events/log_event.rb, line 29
def get_property(name)
  @properties[name]
end
render(output) click to toggle source
# File lib/semlogr/events/log_event.rb, line 41
def render(output)
  @template.render(output, @properties)
end
to_s() click to toggle source
# File lib/semlogr/events/log_event.rb, line 49
def to_s
  output = +''

  render(output)

  output
end
type() click to toggle source
# File lib/semlogr/events/log_event.rb, line 45
def type
  @type ||= Digest::XXH32.hexdigest(@template.text)
end