class Qian::Logger

发送 json 数据到 Kafka 的 Logger

@author Larry <larry@jianshu.com>

Public Class Methods

new(kafka_producer) click to toggle source
# File lib/qian/logger.rb, line 8
def initialize(kafka_producer)
  @kafka_producer = kafka_producer
end

Public Instance Methods

log(entry = {}, options = {}) click to toggle source

Log

@param [Hash] entry Log 到 Kafka 的数据 @param [Hash] options 额外的参数

@return [void]

# 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 = {}) click to toggle source

批量 Log

@param [Array] entries @param [Hash] options

@return [<type>] <description>

# File lib/qian/logger.rb, line 34
def log_in_batch(entries = [], options = {})
  return if entries.empty? || @kafka_producer.nil?
  entries.each { |entry| log(entry, options) }
end