rdkafka 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 05e07e0a842a9c43a3f146ab17b7c9a6a5199695
4
- data.tar.gz: aaf3de6b32ee405e4b3154931fa8faa997c1f6ab
3
+ metadata.gz: a9b016b16ea543f75f53572f0a16e89aae152000
4
+ data.tar.gz: ea73ee4d951be90743901a7b9e2fe75708823ebb
5
5
  SHA512:
6
- metadata.gz: 99c48f6357f58933fbe4d7473b6331b3b02e7e902d24edf3d7361e6c12ce647d9c6055c1882c7eb4a481dab713680f0b09bd3922c5a265c9e032c36dda80cd8f
7
- data.tar.gz: d62fbdb64afb51f3027f7764b29ddc3c7857fe5c771a4c49bc799cfacaf67b662de568e20ee3f3706068062f712e6aed2b3ac58e0f1e009357fb67c7ae965a9d
6
+ metadata.gz: 75f6817837f86d3b136a98fe87850bb63275bc389a5bdb7abfb8dd3dfd14633a73ac0073a26cd98d596b63901bf3796e4ec87f6e4c2c25320328f250fd960308
7
+ data.tar.gz: 7cac0e27475bd2571e6eb104fcaf977efed4e306b04cd8c735b2c390d119eff0f2538eced0a06f66c90c36d60ecc5e569b8bd77fe7f01e4c38ca40eaba960fda
@@ -1,5 +1,17 @@
1
+ require "logger"
2
+
1
3
  module Rdkafka
2
4
  class Config
5
+ @@logger = Logger.new(STDOUT)
6
+
7
+ def self.logger
8
+ @@logger
9
+ end
10
+
11
+ def self.logger=(logger)
12
+ @@logger=logger
13
+ end
14
+
3
15
  DEFAULT_CONFIG = {
4
16
  :"api.version.request" => true
5
17
  }
@@ -39,23 +51,22 @@ module Rdkafka
39
51
  # This method is only intented to be used to create a client,
40
52
  # using it in another way will leak memory.
41
53
  def native_config
42
- config = Rdkafka::FFI.rd_kafka_conf_new
43
-
44
- @config_hash.each do |key, value|
45
- error_buffer = ::FFI::MemoryPointer.from_string(" " * 256)
46
- result = Rdkafka::FFI.rd_kafka_conf_set(
47
- config,
48
- key.to_s,
49
- value.to_s,
50
- error_buffer,
51
- 256
52
- )
53
- unless result == :config_ok
54
- raise ConfigError.new(error_buffer.read_string)
54
+ Rdkafka::FFI.rd_kafka_conf_new.tap do |config|
55
+ @config_hash.each do |key, value|
56
+ error_buffer = ::FFI::MemoryPointer.from_string(" " * 256)
57
+ result = Rdkafka::FFI.rd_kafka_conf_set(
58
+ config,
59
+ key.to_s,
60
+ value.to_s,
61
+ error_buffer,
62
+ 256
63
+ )
64
+ unless result == :config_ok
65
+ raise ConfigError.new(error_buffer.read_string)
66
+ end
55
67
  end
68
+ Rdkafka::FFI.rd_kafka_conf_set_log_cb(config, Rdkafka::FFI::LogCallback)
56
69
  end
57
-
58
- config
59
70
  end
60
71
 
61
72
  def native_kafka(config, type)
@@ -1,4 +1,5 @@
1
1
  require "ffi"
2
+ require "logger"
2
3
 
3
4
  module Rdkafka
4
5
  module FFI
@@ -113,6 +114,26 @@ module Rdkafka
113
114
 
114
115
  attach_function :rd_kafka_conf_new, [], :pointer
115
116
  attach_function :rd_kafka_conf_set, [:pointer, :string, :string, :pointer, :int], :kafka_config_response
117
+ callback :log_cb, [:pointer, :int, :string, :string], :void
118
+ attach_function :rd_kafka_conf_set_log_cb, [:pointer, :log_cb], :void
119
+
120
+ LogCallback = Proc.new do |client_ptr, level, level_string, line|
121
+ severity = case level
122
+ when 0 || 1 || 2
123
+ Logger::FATAL
124
+ when 3
125
+ Logger::ERROR
126
+ when 4
127
+ Logger::WARN
128
+ when 5 || 6
129
+ Logger::INFO
130
+ when 7
131
+ Logger::DEBUG
132
+ else
133
+ Logger::UNKNOWN
134
+ end
135
+ Rdkafka::Config.logger.add(severity) { line }
136
+ end
116
137
 
117
138
  # Handle
118
139
 
@@ -1,4 +1,4 @@
1
1
  module Rdkafka
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  LIBRDKAFKA_VERSION = "0.11.0"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdkafka
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thijs Cadier