fluent-logger 0.9.1 → 0.10.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.
- checksums.yaml +4 -4
- data/.github/workflows/linux.yml +4 -6
- data/ChangeLog +5 -0
- data/Gemfile +7 -6
- data/README.md +4 -0
- data/fluent-logger.gemspec +2 -6
- data/lib/fluent/logger/fluent_logger.rb +6 -1
- data/lib/fluent/logger/version.rb +1 -1
- data/spec/fluent_logger_spec.rb +10 -0
- metadata +22 -83
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35434f35801a28fb88c9802cfd213caa4a9a052f087241768f676b0f7c67958a
|
4
|
+
data.tar.gz: cf2b26bbf41d008c9c3e462a0dcd5e2c23cfbdbc9c08227d31454d4b171abb83
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 899bccf2efee5b4c230155e1ef6beb9fa4b1f06b843fb9abd5f87630246f1f112b75200fa0d431de3aeba5e9dbf13e55a97fa3b57945112530cdda57288d1cc7
|
7
|
+
data.tar.gz: 8bebd7215231cef3379b5a6e9ccdc72407b0198874d44860033056cc97600dce811a5929cf13533bd42e1954c24fe01b9de5c27037a57a6b4354b6adbe41e393
|
data/.github/workflows/linux.yml
CHANGED
@@ -9,22 +9,20 @@ jobs:
|
|
9
9
|
fail-fast: false
|
10
10
|
matrix:
|
11
11
|
ruby:
|
12
|
-
- '2.7'
|
13
|
-
- '3.0'
|
14
|
-
- '3.1'
|
15
12
|
- '3.2'
|
13
|
+
- '3.3'
|
14
|
+
- '3.4'
|
16
15
|
os:
|
17
16
|
- ubuntu-latest
|
18
17
|
name: Ruby ${{ matrix.ruby }} unit testing on ${{ matrix.os }}
|
19
18
|
steps:
|
20
|
-
- uses: actions/checkout@
|
19
|
+
- uses: actions/checkout@v4
|
21
20
|
- uses: ruby/setup-ruby@v1
|
22
21
|
with:
|
23
22
|
ruby-version: ${{ matrix.ruby }}
|
23
|
+
bundler-cache: true
|
24
24
|
- name: unit testing
|
25
25
|
env:
|
26
26
|
CI: true
|
27
27
|
run: |
|
28
|
-
gem install bundler rake
|
29
|
-
bundle install --jobs 4 --retry 3
|
30
28
|
bundle exec rake spec
|
data/ChangeLog
CHANGED
data/Gemfile
CHANGED
@@ -1,11 +1,12 @@
|
|
1
|
-
|
2
1
|
source 'https://rubygems.org/'
|
3
2
|
|
4
|
-
gem "fluentd", :github => 'fluent/fluentd'
|
5
|
-
|
6
3
|
gemspec
|
7
4
|
|
8
|
-
gem "
|
5
|
+
gem "rake", ">= 0.9.2"
|
6
|
+
gem "rspec", ">= 3.0.0"
|
7
|
+
gem "rspec-its", ">= 1.1.0"
|
8
|
+
gem "timecop", ">= 0.3.0"
|
9
|
+
gem "fluentd"
|
10
|
+
gem "test-unit"
|
11
|
+
gem "simplecov", ">= 0.5.4", require: false
|
9
12
|
gem "simplecov-vim"
|
10
|
-
|
11
|
-
gem 'test-unit'
|
data/README.md
CHANGED
@@ -148,6 +148,10 @@ Use nonblocking write(`IO#write_nonblock`) instead of normal write(`IO#write`).
|
|
148
148
|
|
149
149
|
If `false`, `Logger#post` raises an error when nonblocking write gets `EAGAIN` (i.e. `use_nonblock` must be `true`, otherwise this will have no effect). Default: `true`
|
150
150
|
|
151
|
+
#### timeout (Integer)
|
152
|
+
|
153
|
+
Specify a timeout in seconds for connecting. Default: `0` (Disabled)
|
154
|
+
|
151
155
|
#### buffer_overflow_handler (Proc)
|
152
156
|
|
153
157
|
Pass callback for handling buffer overflow with pending data. See "Buffer overflow" section.
|
data/fluent-logger.gemspec
CHANGED
@@ -22,10 +22,6 @@ Gem::Specification.new do |gem|
|
|
22
22
|
gem.license = "Apache-2.0"
|
23
23
|
|
24
24
|
gem.add_dependency "msgpack", ">= 1.0.0", "< 2"
|
25
|
-
gem
|
26
|
-
gem.
|
27
|
-
gem.add_development_dependency 'rspec-its', '>= 1.1.0'
|
28
|
-
gem.add_development_dependency 'simplecov', '>= 0.5.4'
|
29
|
-
gem.add_development_dependency 'timecop', '>= 0.3.0'
|
30
|
-
gem.add_development_dependency 'webrick'
|
25
|
+
# logger gem that isn't default gems as of Ruby 3.5
|
26
|
+
gem.add_dependency "logger", "~> 1.6"
|
31
27
|
end
|
@@ -22,6 +22,7 @@ require 'openssl'
|
|
22
22
|
require 'monitor'
|
23
23
|
require 'logger'
|
24
24
|
require 'json'
|
25
|
+
require 'timeout'
|
25
26
|
|
26
27
|
module Fluent
|
27
28
|
module Logger
|
@@ -115,6 +116,8 @@ module Fluent
|
|
115
116
|
@wait_writeable = true
|
116
117
|
@wait_writeable = options[:wait_writeable] if options.key?(:wait_writeable)
|
117
118
|
|
119
|
+
@timeout = options[:timeout] || 0
|
120
|
+
|
118
121
|
@last_error = {}
|
119
122
|
|
120
123
|
begin
|
@@ -170,7 +173,9 @@ module Fluent
|
|
170
173
|
if @socket_path
|
171
174
|
@con = UNIXSocket.new(@socket_path)
|
172
175
|
else
|
173
|
-
@con =
|
176
|
+
@con = Timeout.timeout(@timeout) do
|
177
|
+
TCPSocket.new(@host, @port)
|
178
|
+
end
|
174
179
|
if @tls_options
|
175
180
|
context = OpenSSL::SSL::SSLContext.new
|
176
181
|
if @tls_options[:insecure]
|
data/spec/fluent_logger_spec.rb
CHANGED
@@ -6,6 +6,7 @@ require 'support/dummy_fluentd'
|
|
6
6
|
require 'logger'
|
7
7
|
require 'stringio'
|
8
8
|
require 'fluent/logger/fluent_logger/cui'
|
9
|
+
require 'timeout'
|
9
10
|
|
10
11
|
describe Fluent::Logger::FluentLogger do
|
11
12
|
let(:fluentd) {
|
@@ -434,4 +435,13 @@ describe Fluent::Logger::FluentLogger do
|
|
434
435
|
}
|
435
436
|
end
|
436
437
|
end
|
438
|
+
|
439
|
+
it ('support timeout') {
|
440
|
+
Timeout::timeout(5) do
|
441
|
+
# Use invalid IP address to make sure that the connection will timeout.
|
442
|
+
# (192.0.2.0 is a special IP address that can be used in only documentation. Ref. RFC 5737)
|
443
|
+
logger = Fluent::Logger::FluentLogger.new(nil, host: '192.0.2.0', port: fluentd.port, timeout: 1)
|
444
|
+
expect(logger.last_error).to be_a_kind_of(Timeout::Error)
|
445
|
+
end
|
446
|
+
}
|
437
447
|
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sadayuki Furuhashi
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: msgpack
|
@@ -31,89 +30,19 @@ dependencies:
|
|
31
30
|
- !ruby/object:Gem::Version
|
32
31
|
version: '2'
|
33
32
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
33
|
+
name: logger
|
35
34
|
requirement: !ruby/object:Gem::Requirement
|
36
35
|
requirements:
|
37
|
-
- - "
|
36
|
+
- - "~>"
|
38
37
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
40
|
-
type: :
|
41
|
-
prerelease: false
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
44
|
-
- - ">="
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: 0.9.2
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: rspec
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - ">="
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 3.0.0
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - ">="
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: 3.0.0
|
61
|
-
- !ruby/object:Gem::Dependency
|
62
|
-
name: rspec-its
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - ">="
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: 1.1.0
|
68
|
-
type: :development
|
69
|
-
prerelease: false
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
71
|
-
requirements:
|
72
|
-
- - ">="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: 1.1.0
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: simplecov
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
78
|
-
requirements:
|
79
|
-
- - ">="
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: 0.5.4
|
82
|
-
type: :development
|
83
|
-
prerelease: false
|
84
|
-
version_requirements: !ruby/object:Gem::Requirement
|
85
|
-
requirements:
|
86
|
-
- - ">="
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: 0.5.4
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: timecop
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - ">="
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: 0.3.0
|
96
|
-
type: :development
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - ">="
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: 0.3.0
|
103
|
-
- !ruby/object:Gem::Dependency
|
104
|
-
name: webrick
|
105
|
-
requirement: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - ">="
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
|
-
type: :development
|
38
|
+
version: '1.6'
|
39
|
+
type: :runtime
|
111
40
|
prerelease: false
|
112
41
|
version_requirements: !ruby/object:Gem::Requirement
|
113
42
|
requirements:
|
114
|
-
- - "
|
43
|
+
- - "~>"
|
115
44
|
- !ruby/object:Gem::Version
|
116
|
-
version: '
|
45
|
+
version: '1.6'
|
117
46
|
description: fluent logger for ruby
|
118
47
|
email: frsyuki@gmail.com
|
119
48
|
executables:
|
@@ -160,7 +89,6 @@ homepage: https://github.com/fluent/fluent-logger-ruby
|
|
160
89
|
licenses:
|
161
90
|
- Apache-2.0
|
162
91
|
metadata: {}
|
163
|
-
post_install_message:
|
164
92
|
rdoc_options: []
|
165
93
|
require_paths:
|
166
94
|
- lib
|
@@ -175,8 +103,19 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
103
|
- !ruby/object:Gem::Version
|
176
104
|
version: '0'
|
177
105
|
requirements: []
|
178
|
-
rubygems_version: 3.
|
179
|
-
signing_key:
|
106
|
+
rubygems_version: 3.6.9
|
180
107
|
specification_version: 4
|
181
108
|
summary: fluent logger for ruby
|
182
|
-
test_files:
|
109
|
+
test_files:
|
110
|
+
- spec/console_logger_spec.rb
|
111
|
+
- spec/fluent_logger_spec.rb
|
112
|
+
- spec/level_fluent_logger_spec.rb
|
113
|
+
- spec/logger_base_spec.rb
|
114
|
+
- spec/logger_spec.rb
|
115
|
+
- spec/null_logger_spec.rb
|
116
|
+
- spec/plugin/out_test.rb
|
117
|
+
- spec/spec_helper.rb
|
118
|
+
- spec/support/dummy_fluentd.rb
|
119
|
+
- spec/support/dummy_serverengine.rb
|
120
|
+
- spec/support/timecop.rb
|
121
|
+
- spec/test_logger_spec.rb
|