Class: Logasm::Adapters::RabbitmqAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/logasm/adapters/rabbitmq_adapter.rb,
lib/logasm/adapters/rabbitmq_adapter/message_builder.rb

Defined Under Namespace

Classes: MessageBuilder

Constant Summary collapse

CONFIGURATION_KEYS =
[:host, :user, :pass, :port]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(level, service, arguments = {}) ⇒ RabbitmqAdapter

Returns a new instance of RabbitmqAdapter.



19
20
21
22
23
24
25
26
# File 'lib/logasm/adapters/rabbitmq_adapter.rb', line 19

def initialize(level, service, arguments = {})
  config = arguments.select { |key, value| CONFIGURATION_KEYS.include?(key) }
  logger = Logger.new(STDOUT)
  @queue = arguments.fetch(:queue, 'logstash-queue')
  @level = level
  @message_builder = MessageBuilder.new(service)
  @freddy = Freddy.build(logger, config.merge({recover_from_connection_close: true}))
end

Instance Attribute Details

#freddyObject (readonly)

Returns the value of attribute freddy.



15
16
17
# File 'lib/logasm/adapters/rabbitmq_adapter.rb', line 15

def freddy
  @freddy
end

Instance Method Details

#log(level, metadata = {}) ⇒ Object



28
29
30
31
32
33
# File 'lib/logasm/adapters/rabbitmq_adapter.rb', line 28

def log(level,  = {})
  if meets_threshold?(level)
    message = @message_builder.build_message , level
    deliver_message message
  end
end