rdkafka 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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