cc-os/plugins/os-adr/eval-b/fixture/project/lib/relay/log.rb

22 lines
527 B
Ruby

require "time"
require_relative "result"
module Relay
# Append-only event log. Every recorded event carries the moment it
# happened as a UTC ISO-8601 string.
class Log
def initialize(path)
@path = path
end
def record(event, detail = nil)
stamp = Time.now.utc.iso8601
line = [stamp, event, detail].compact.join("\t")
File.open(@path, "a") { |f| f.puts(line) }
Result.ok(line)
rescue SystemCallError => e
Result.err("log write failed: #{e.message}")
end
end
end