logstash-logger 0.26.1 → 1.0.0

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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +51 -0
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +85 -105
  5. data/Appraisals +6 -18
  6. data/CHANGELOG.md +28 -0
  7. data/Gemfile +0 -1
  8. data/README.md +12 -833
  9. data/docs/buffering.md +70 -0
  10. data/docs/customization.md +86 -0
  11. data/docs/outputs.md +42 -0
  12. data/docs/rails.md +344 -0
  13. data/docs/ssl.md +90 -0
  14. data/docs/troubleshooting.md +84 -0
  15. data/docs/usage.md +148 -0
  16. data/gemfiles/{rails_4.2.gemfile → rails_7.2.gemfile} +1 -2
  17. data/gemfiles/{rails_5.0.gemfile → rails_8.0.gemfile} +1 -2
  18. data/gemfiles/{rails_4.0.gemfile → rails_8.1.gemfile} +1 -2
  19. data/lib/logstash-logger/buffer.rb +0 -1
  20. data/lib/logstash-logger/configuration.rb +1 -2
  21. data/lib/logstash-logger/device/aws_stream.rb +1 -1
  22. data/lib/logstash-logger/device/base.rb +2 -2
  23. data/lib/logstash-logger/device/connectable.rb +3 -11
  24. data/lib/logstash-logger/device/file.rb +21 -4
  25. data/lib/logstash-logger/device/http.rb +33 -0
  26. data/lib/logstash-logger/device/kafka.rb +153 -36
  27. data/lib/logstash-logger/device/redis.rb +8 -1
  28. data/lib/logstash-logger/device/tcp.rb +1 -5
  29. data/lib/logstash-logger/device.rb +24 -2
  30. data/lib/logstash-logger/formatter/base.rb +54 -9
  31. data/lib/logstash-logger/formatter/cee_syslog.rb +1 -1
  32. data/lib/logstash-logger/formatter/json.rb +13 -0
  33. data/lib/logstash-logger/formatter/json_lines.rb +13 -0
  34. data/lib/logstash-logger/formatter.rb +14 -6
  35. data/lib/logstash-logger/logger.rb +6 -19
  36. data/lib/logstash-logger/multi_logger.rb +2 -1
  37. data/lib/logstash-logger/railtie.rb +1 -1
  38. data/lib/logstash-logger/tagged_logging.rb +3 -1
  39. data/lib/logstash-logger/version.rb +1 -1
  40. data/logstash-logger.gemspec +9 -1
  41. data/spec/device/file_spec.rb +65 -0
  42. data/spec/device/http_spec.rb +11 -0
  43. data/spec/device/kafka_spec.rb +337 -14
  44. data/spec/device_spec.rb +13 -0
  45. data/spec/formatter/base_spec.rb +46 -1
  46. data/spec/formatter/cee_syslog_spec.rb +3 -3
  47. data/spec/formatter/json_lines_spec.rb +23 -0
  48. data/spec/formatter/json_spec.rb +49 -0
  49. data/spec/formatter_spec.rb +19 -2
  50. data/spec/logger_spec.rb +5 -5
  51. data/spec/multi_logger_spec.rb +16 -0
  52. data/spec/spec_helper.rb +2 -5
  53. data/spec/tagged_logging_spec.rb +15 -0
  54. metadata +89 -16
  55. data/.travis.yml +0 -26
  56. data/gemfiles/rails_3.2.gemfile +0 -9
  57. data/gemfiles/rails_4.1.gemfile +0 -9
  58. data/gemfiles/rails_5.1.gemfile +0 -9
data/spec/spec_helper.rb CHANGED
@@ -3,10 +3,6 @@ require 'securerandom'
3
3
 
4
4
  require 'simplecov'
5
5
  SimpleCov.start
6
- if ENV['CI']=='true'
7
- require 'codecov'
8
- SimpleCov.formatter = SimpleCov::Formatter::Codecov
9
- end
10
6
 
11
7
  RSpec.configure do |config|
12
8
  config.order = "random"
@@ -53,6 +49,7 @@ RSpec.shared_context 'device' do
53
49
  let(:tcp_device) { LogStashLogger::Device.new(type: :tcp, port: port, sync: true) }
54
50
  let(:ssl_tcp_device) { LogStashLogger::Device.new(type: :tcp, port: port, ssl_enable: true, sync: true) }
55
51
  let(:unix_device) { LogStashLogger::Device.new(type: :unix, path: '/tmp/logstash', sync: true) }
52
+ let(:http_device) { LogStashLogger::Device.new(type: :http, url: 'http://localhost', sync: true) }
56
53
 
57
54
  let(:file) { Tempfile.new('test') }
58
55
  let(:file_device) { LogStashLogger::Device.new(type: :file, path: file.path)}
@@ -83,7 +80,7 @@ RSpec.shared_context 'device' do
83
80
  let(:unix_uri) { "unix:///some/path/to/socket" }
84
81
  let(:file_uri) { "file://#{file.path}" }
85
82
  let(:redis_uri) { "redis://localhost:6379" }
86
- let(:kafka_uri) { "kafka://localhost:9092" }
83
+ let(:kafka_uri) { "kafka://localhost:9092/logstash" }
87
84
  let(:stdout_uri) { "stdout://localhost" }
88
85
  let(:stderr_uri) { "stderr://localhost" }
89
86
 
@@ -28,5 +28,20 @@ describe LogStashLogger do
28
28
 
29
29
  logger.info(message)
30
30
  end
31
+
32
+ context 'when tag is an integer' do
33
+ let(:tag) { 10 }
34
+
35
+ it "puts the integer into the tags array on the logstash event" do
36
+ expect(logdev).to receive(:write) do |event_string|
37
+ event = JSON.parse(event_string)
38
+ expect(event['tags']).to match_array([10])
39
+ end
40
+
41
+ logger.tagged(tag) do
42
+ logger.info(message)
43
+ end
44
+ end
45
+ end
31
46
  end
32
47
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.26.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Butler
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2018-02-14 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: logstash-event
@@ -53,7 +52,7 @@ dependencies:
53
52
  - !ruby/object:Gem::Version
54
53
  version: '0'
55
54
  - !ruby/object:Gem::Dependency
56
- name: poseidon
55
+ name: ruby-kafka
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - ">="
@@ -94,6 +93,20 @@ dependencies:
94
93
  - - ">="
95
94
  - !ruby/object:Gem::Version
96
95
  version: '0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: syslog
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: rspec
99
112
  requirement: !ruby/object:Gem::Requirement
@@ -178,6 +191,62 @@ dependencies:
178
191
  - - ">="
179
192
  - !ruby/object:Gem::Version
180
193
  version: '0'
194
+ - !ruby/object:Gem::Dependency
195
+ name: rubocop-performance
196
+ requirement: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ type: :development
202
+ prerelease: false
203
+ version_requirements: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - ">="
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
208
+ - !ruby/object:Gem::Dependency
209
+ name: rubocop-rails
210
+ requirement: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
215
+ type: :development
216
+ prerelease: false
217
+ version_requirements: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ - !ruby/object:Gem::Dependency
223
+ name: rubocop-rake
224
+ requirement: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
229
+ type: :development
230
+ prerelease: false
231
+ version_requirements: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ version: '0'
236
+ - !ruby/object:Gem::Dependency
237
+ name: rubocop-rspec
238
+ requirement: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: '0'
243
+ type: :development
244
+ prerelease: false
245
+ version_requirements: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - ">="
248
+ - !ruby/object:Gem::Version
249
+ version: '0'
181
250
  description: Ruby logger that writes directly to LogStash
182
251
  email:
183
252
  - dwbutler@ucla.edu
@@ -185,22 +254,26 @@ executables: []
185
254
  extensions: []
186
255
  extra_rdoc_files: []
187
256
  files:
257
+ - ".github/workflows/tests.yml"
188
258
  - ".gitignore"
189
259
  - ".rspec"
190
260
  - ".rubocop.yml"
191
- - ".travis.yml"
192
261
  - Appraisals
193
262
  - CHANGELOG.md
194
263
  - Gemfile
195
264
  - LICENSE.txt
196
265
  - README.md
197
266
  - Rakefile
198
- - gemfiles/rails_3.2.gemfile
199
- - gemfiles/rails_4.0.gemfile
200
- - gemfiles/rails_4.1.gemfile
201
- - gemfiles/rails_4.2.gemfile
202
- - gemfiles/rails_5.0.gemfile
203
- - gemfiles/rails_5.1.gemfile
267
+ - docs/buffering.md
268
+ - docs/customization.md
269
+ - docs/outputs.md
270
+ - docs/rails.md
271
+ - docs/ssl.md
272
+ - docs/troubleshooting.md
273
+ - docs/usage.md
274
+ - gemfiles/rails_7.2.gemfile
275
+ - gemfiles/rails_8.0.gemfile
276
+ - gemfiles/rails_8.1.gemfile
204
277
  - lib/logstash-logger.rb
205
278
  - lib/logstash-logger/buffer.rb
206
279
  - lib/logstash-logger/configuration.rb
@@ -211,6 +284,7 @@ files:
211
284
  - lib/logstash-logger/device/connectable.rb
212
285
  - lib/logstash-logger/device/file.rb
213
286
  - lib/logstash-logger/device/firehose.rb
287
+ - lib/logstash-logger/device/http.rb
214
288
  - lib/logstash-logger/device/io.rb
215
289
  - lib/logstash-logger/device/kafka.rb
216
290
  - lib/logstash-logger/device/kinesis.rb
@@ -251,6 +325,7 @@ files:
251
325
  - spec/device/connectable_spec.rb
252
326
  - spec/device/file_spec.rb
253
327
  - spec/device/firehose_spec.rb
328
+ - spec/device/http_spec.rb
254
329
  - spec/device/io_spec.rb
255
330
  - spec/device/kafka_spec.rb
256
331
  - spec/device/kinesis_spec.rb
@@ -281,7 +356,6 @@ homepage: http://github.com/dwbutler/logstash-logger
281
356
  licenses:
282
357
  - MIT
283
358
  metadata: {}
284
- post_install_message:
285
359
  rdoc_options: []
286
360
  require_paths:
287
361
  - lib
@@ -289,16 +363,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
289
363
  requirements:
290
364
  - - ">="
291
365
  - !ruby/object:Gem::Version
292
- version: '0'
366
+ version: '3.2'
293
367
  required_rubygems_version: !ruby/object:Gem::Requirement
294
368
  requirements:
295
369
  - - ">="
296
370
  - !ruby/object:Gem::Version
297
371
  version: '0'
298
372
  requirements: []
299
- rubyforge_project:
300
- rubygems_version: 2.7.3
301
- signing_key:
373
+ rubygems_version: 4.0.3
302
374
  specification_version: 4
303
375
  summary: LogStash Logger for ruby
304
376
  test_files:
@@ -308,6 +380,7 @@ test_files:
308
380
  - spec/device/connectable_spec.rb
309
381
  - spec/device/file_spec.rb
310
382
  - spec/device/firehose_spec.rb
383
+ - spec/device/http_spec.rb
311
384
  - spec/device/io_spec.rb
312
385
  - spec/device/kafka_spec.rb
313
386
  - spec/device/kinesis_spec.rb
data/.travis.yml DELETED
@@ -1,26 +0,0 @@
1
- language: ruby
2
- dist: trusty
3
- sudo: false
4
- cache: bundler
5
- before_install:
6
- - gem update --system
7
- - gem install bundler
8
- after_success:
9
- bundle exec codeclimate-test-reporter
10
- rvm:
11
- - 2.2.7
12
- - 2.3.4
13
- - 2.4.1
14
- - 2.5.0
15
- - jruby-9.1.5.0
16
- - rubinius-3
17
- gemfile:
18
- - gemfiles/rails_4.2.gemfile
19
- - gemfiles/rails_5.0.gemfile
20
- - gemfiles/rails_5.1.gemfile
21
- matrix:
22
- allow_failures:
23
- - rvm: rubinius-3
24
- addons:
25
- code_climate:
26
- repo_token: 4d712355fa2863c0f33f413eeede4e52cc221c4bc989a692d97574b1f6010b69
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "codecov", :require => false, :group => :test
6
- gem "codeclimate-test-reporter", :group => :test, :require => nil
7
- gem "rails", "~> 3.2.18"
8
-
9
- gemspec :path => "../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "codecov", require: false, group: :test
6
- gem "codeclimate-test-reporter", group: :test, require: nil
7
- gem "rails", "~> 4.1.1"
8
-
9
- gemspec path: "../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "codecov", require: false, group: :test
6
- gem "codeclimate-test-reporter", group: :test, require: nil
7
- gem "rails", "~> 5.1.0"
8
-
9
- gemspec path: "../"