Sha256: 44bb0e75eb348a994dc5f05318ecae7f535b0a6d828f050e51076d377c0eb075
Contents?: true
Size: 901 Bytes
Versions: 1
Compression:
Stored size: 901 Bytes
Contents
require 'semlogr/sinks/seq/clef_formatter' require 'semlogr/sinks/seq/seq_api' require 'semlogr/sinks/batching' require 'semlogr/self_logger' module Semlogr module Sinks module Seq class Sink < Semlogr::Sinks::Batching def initialize(client: nil, formatter: nil, **opts) @client = client || create_client(opts) @formatter = formatter || ClefFormatter.new super(opts) end def emit_batch(log_events) payload = '' log_events.each do |log_event| payload << @formatter.format(log_event) end @client.post_events(payload) end private def create_client(opts) server_url = opts.fetch(:server_url, 'http://localhost:5341') api_key = opts.fetch(:api_key, nil) SeqApi.new(server_url, api_key) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
semlogr-sinks-seq-0.1.6 | lib/semlogr/sinks/seq/sink.rb |