Sha256: bc1f7028f93fb8654faeb46450a732a537d873809dc570fca219f3aada901a47

Contents?: true

Size: 746 Bytes

Versions: 4

Compression:

Stored size: 746 Bytes

Contents

module Semlogr
  module Events
    class LogEvent
      attr_reader :severity
      attr_reader :template
      attr_reader :error
      attr_reader :properties
      attr_reader :timestamp

      def initialize(severity, template, error, properties)
        @timestamp = Time.now.utc
        @severity = severity
        @template = template
        @error = error
        @properties = properties
      end

      def get_property(name)
        @properties[name]
      end

      def add_property(properties)
        @properties.merge!(properties)
      end

      def render(output)
        @template.render(output, @properties)
      end

      def to_s
        output = ''

        render(output)

        output
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
semlogr-0.1.3 lib/semlogr/events/log_event.rb
semlogr-0.1.2 lib/semlogr/events/log_event.rb
semlogr-0.1.1 lib/semlogr/events/log_event.rb
semlogr-0.1.0 lib/semlogr/events/log_event.rb