class Stenotype::Adapters::StdoutAdapter
An adapter implementing method {#publish} to send data to STDOUT
@example
class SomeClassWithEvents def method_emitting_enent result_of_calculations = collect_some_data # This will print the data to STDOUT by default stdout_adapter.publish(result_of_calculation, additional: :data, more: :data) result_of_calculations end def stdout_adapter Stenotype::Adapters::StdoutAdapter.new end end
Public Instance Methods
flush!()
click to toggle source
Does nothing
# File lib/stenotype/adapters/stdout_adapter.rb, line 43 def flush! # noop end
publish(event_data, **additional_attrs)
click to toggle source
@param event_data {Sting} The data to be published to STDOUT
@example Publishing to default client (STDOUT)
adapter = Stenotype::Adapters::StdoutAdapter.new adapter.publish({ event: :data }, { additional: :data })
@example Publishing to custom client (STDERR)
adapter = Stenotype::Adapters::StdoutAdapter.new(client: STDERR) adapter.publish({ event: :data }, { additional: :data })
# File lib/stenotype/adapters/stdout_adapter.rb, line 34 def publish(event_data, **additional_attrs) client.info("[Stenotype::Event] emitted with the following attributes") do "MESSAGE BODY: #{event_data}, MESSAGE ATTRIBUTES #{additional_attrs.to_json}" end end
Private Instance Methods
client()
click to toggle source
# File lib/stenotype/adapters/stdout_adapter.rb, line 49 def client @client ||= (config.logger || Logger.new(STDOUT)) end
config()
click to toggle source
# File lib/stenotype/adapters/stdout_adapter.rb, line 53 def config Stenotype.config end