Class: Qian::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/qian/logger.rb

Overview

发送 json 数据到 Kafka 的 Logger

Author:

Instance Method Summary collapse

Constructor Details

#initialize(kafka_producer) ⇒ Logger

Returns a new instance of Logger.



8
9
10
# File 'lib/qian/logger.rb', line 8

def initialize(kafka_producer)
  @kafka_producer = kafka_producer
end

Instance Method Details

#log(entry = {}, options = {}) ⇒ void

This method returns an undefined value.

Log

Parameters:

  • entry (Hash) (defaults to: {})

    Log 到 Kafka 的数据

  • options (Hash) (defaults to: {})

    额外的参数



20
21
22
23
24
# File 'lib/qian/logger.rb', line 20

def log(entry = {}, options = {})
  return if entry.empty? || @kafka_producer.nil?
  topic = options[:topic] || Qian.logger_config[:topic]
  @kafka_producer.produce(entry.to_json, :topic => topic)
end

#log_in_batch(entries = [], options = {}) ⇒ <type>

批量 Log

Parameters:

  • entries (Array) (defaults to: [])
  • options (Hash) (defaults to: {})

Returns:

  • (<type>)

    <description>



34
35
36
37
# File 'lib/qian/logger.rb', line 34

def (entries = [], options = {})
  return if entries.empty? || @kafka_producer.nil?
  entries.each { |entry| log(entry, options) }
end