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