Sha256: 8d6f4412ba35c127ecd0cbd54383453a254a53056699057e820b9371ddea00ed

Contents?: true

Size: 1003 Bytes

Versions: 8

Compression:

Stored size: 1003 Bytes

Contents

require 'json'

module Libhoney
  # For debugging use: a mock version of TransmissionClient that simply prints
  # events to stderr or a file for inspection (and does not send them to
  # Honeycomb, or perform any network activity).
  #
  # @note This class is intended for use in development, for example if you want
  #       to verify what events your instrumented code is sending. Use in
  #       production is not recommended.
  class LogTransmissionClient
    def initialize(output:, verbose: false)
      @output  = output
      @verbose = verbose
    end

    # Prints an event
    def add(event)
      if @verbose
        metadata = "Honeycomb dataset '#{event.dataset}' | #{event.timestamp.iso8601}"
        metadata << " (sample rate: #{event.sample_rate})" if event.sample_rate != 1
        @output.print("#{metadata} | ")
      end
      @output.puts(event.data.to_json)
    end

    # Flushes the output (but does not close it)
    def close(_drain)
      @output.flush
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
libhoney-1.14.1 lib/libhoney/log_transmission.rb
libhoney-1.14.0 lib/libhoney/log_transmission.rb
libhoney-1.13.6 lib/libhoney/log_transmission.rb
libhoney-1.13.3 lib/libhoney/log_transmission.rb
libhoney-1.13.0 lib/libhoney/log_transmission.rb
libhoney-1.12.1 lib/libhoney/log_transmission.rb
libhoney-1.12.0 lib/libhoney/log_transmission.rb
libhoney-1.11.0 lib/libhoney/log_transmission.rb