class Libhoney::LogTransmissionClient

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.

Public Class Methods

new(output:, verbose: false) click to toggle source
# File lib/libhoney/log_transmission.rb, line 15
def initialize(output:, verbose: false)
  @output  = output
  @verbose = verbose
end

Public Instance Methods

add(event) click to toggle source

Prints an event

# File lib/libhoney/log_transmission.rb, line 21
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
  clean_data(event.data).tap do |data|
    @output.puts(data.to_json)
  end
end
close(_drain) click to toggle source

Flushes the output (but does not close it)

# File lib/libhoney/log_transmission.rb, line 33
def close(_drain)
  @output.flush
end