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