fluentd 1.12.4-x86-mingw32 → 1.13.3-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of fluentd might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/bug_report.yaml +69 -0
- data/.github/ISSUE_TEMPLATE/feature_request.yaml +38 -0
- data/.github/workflows/linux-test.yaml +1 -1
- data/.github/workflows/windows-test.yaml +14 -3
- data/.gitlab-ci.yml +0 -22
- data/CHANGELOG.md +129 -0
- data/CONTRIBUTING.md +2 -2
- data/MAINTAINERS.md +1 -1
- data/README.md +3 -3
- data/bin/fluentd +8 -1
- data/example/counter.conf +1 -1
- data/example/v0_12_filter.conf +2 -2
- data/fluentd.gemspec +1 -1
- data/lib/fluent/command/cat.rb +19 -3
- data/lib/fluent/command/fluentd.rb +1 -2
- data/lib/fluent/command/plugin_generator.rb +15 -5
- data/lib/fluent/config.rb +1 -1
- data/lib/fluent/config/section.rb +5 -0
- data/lib/fluent/config/types.rb +15 -0
- data/lib/fluent/config/v1_parser.rb +3 -2
- data/lib/fluent/env.rb +2 -1
- data/lib/fluent/log.rb +1 -0
- data/lib/fluent/oj_options.rb +62 -0
- data/lib/fluent/plugin/file_wrapper.rb +35 -4
- data/lib/fluent/plugin/formatter.rb +1 -0
- data/lib/fluent/plugin/formatter_json.rb +9 -7
- data/lib/fluent/plugin/in_http.rb +10 -0
- data/lib/fluent/plugin/in_tail.rb +159 -41
- data/lib/fluent/plugin/in_tail/position_file.rb +20 -18
- data/lib/fluent/plugin/out_forward.rb +14 -33
- data/lib/fluent/plugin/parser_json.rb +2 -3
- data/lib/fluent/plugin/service_discovery.rb +0 -15
- data/lib/fluent/plugin_helper/http_server/router.rb +1 -1
- data/lib/fluent/plugin_helper/service_discovery.rb +39 -1
- data/lib/fluent/plugin_helper/service_discovery/manager.rb +11 -5
- data/lib/fluent/supervisor.rb +15 -0
- data/lib/fluent/system_config.rb +14 -0
- data/lib/fluent/test/driver/storage.rb +30 -0
- data/lib/fluent/version.rb +1 -1
- data/templates/new_gem/lib/fluent/plugin/storage.rb.erb +40 -0
- data/templates/new_gem/test/plugin/test_storage.rb.erb +18 -0
- data/test/command/test_cat.rb +99 -0
- data/test/command/test_plugin_generator.rb +2 -1
- data/test/config/test_section.rb +9 -0
- data/test/config/test_system_config.rb +46 -0
- data/test/config/test_types.rb +7 -0
- data/test/plugin/in_tail/test_io_handler.rb +4 -4
- data/test/plugin/in_tail/test_position_file.rb +23 -5
- data/test/plugin/test_file_wrapper.rb +22 -1
- data/test/plugin/test_in_forward.rb +59 -83
- data/test/plugin/test_in_http.rb +58 -40
- data/test/plugin/test_in_syslog.rb +66 -56
- data/test/plugin/test_in_tail.rb +341 -1
- data/test/plugin/test_in_tcp.rb +45 -32
- data/test/plugin/test_in_udp.rb +47 -33
- data/test/plugin/test_out_forward.rb +114 -95
- data/test/plugin/test_out_stream.rb +18 -8
- data/test/plugin_helper/http_server/test_route.rb +1 -1
- data/test/plugin_helper/test_child_process.rb +1 -1
- data/test/plugin_helper/test_http_server_helper.rb +33 -26
- data/test/plugin_helper/test_server.rb +137 -138
- data/test/plugin_helper/test_service_discovery.rb +74 -14
- data/test/plugin_helper/test_socket.rb +16 -9
- data/test/test_config.rb +2 -1
- data/test/test_event_time.rb +2 -2
- data/test/test_oj_options.rb +55 -0
- data/test/test_supervisor.rb +35 -0
- metadata +15 -7
- data/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
- data/.github/ISSUE_TEMPLATE/feature_request.md +0 -23
@@ -17,6 +17,24 @@ class ServiceDiscoveryHelper < Test::Unit::TestCase
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
+
class DummyPlugin < Fluent::Plugin::TestBase
|
21
|
+
helpers :service_discovery
|
22
|
+
|
23
|
+
def configure(conf)
|
24
|
+
super
|
25
|
+
service_discovery_configure(:service_discovery_helper_test, static_default_service_directive: 'node')
|
26
|
+
end
|
27
|
+
|
28
|
+
def select_service(&block)
|
29
|
+
service_discovery_select_service(&block)
|
30
|
+
end
|
31
|
+
|
32
|
+
# Make these mehtod public
|
33
|
+
def discovery_manager
|
34
|
+
super
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
20
38
|
setup do
|
21
39
|
@sd_file_dir = File.expand_path('../plugin/data/sd_file', __dir__)
|
22
40
|
|
@@ -33,7 +51,7 @@ class ServiceDiscoveryHelper < Test::Unit::TestCase
|
|
33
51
|
end
|
34
52
|
end
|
35
53
|
|
36
|
-
test '
|
54
|
+
test 'support calling #service_discovery_create_manager and #discovery_manager from plugin' do
|
37
55
|
d = @d = Dummy.new
|
38
56
|
|
39
57
|
d.service_discovery_create_manager(
|
@@ -55,13 +73,30 @@ class ServiceDiscoveryHelper < Test::Unit::TestCase
|
|
55
73
|
assert_equal 1234, services[0].port
|
56
74
|
end
|
57
75
|
|
58
|
-
test '
|
59
|
-
d = @d =
|
76
|
+
test 'start discovery manager' do
|
77
|
+
d = @d = DummyPlugin.new
|
60
78
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
79
|
+
services = [config_element('service', '', { 'host' => '127.0.0.1', 'port' => '1234' })]
|
80
|
+
d.configure(config_element('root', '', {}, [config_element('service_discovery', '', {'@type' => 'static'}, services)]))
|
81
|
+
|
82
|
+
assert_true !!d.discovery_manager
|
83
|
+
|
84
|
+
mock.proxy(d.discovery_manager).start.once
|
85
|
+
mock.proxy(d).timer_execute(:service_discovery_helper_test, anything).never
|
86
|
+
|
87
|
+
d.start
|
88
|
+
d.event_loop_wait_until_start
|
89
|
+
|
90
|
+
assert_equal 1, d.discovery_manager.services.size
|
91
|
+
d.select_service do |serv|
|
92
|
+
assert_equal "127.0.0.1", serv.host
|
93
|
+
assert_equal 1234, serv.port
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
test 'call timer_execute if dynamic configuration' do
|
98
|
+
d = @d = DummyPlugin.new
|
99
|
+
d.configure(config_element('root', '', {}, [config_element('service_discovery', '', { '@type' => 'file', 'path' => File.join(@sd_file_dir, 'config.yml' )})]))
|
65
100
|
|
66
101
|
assert_true !!d.discovery_manager
|
67
102
|
mock.proxy(d.discovery_manager).start.once
|
@@ -71,25 +106,22 @@ class ServiceDiscoveryHelper < Test::Unit::TestCase
|
|
71
106
|
end
|
72
107
|
|
73
108
|
test 'exits service discovery instances without any errors' do
|
74
|
-
d = @d =
|
109
|
+
d = @d = DummyPlugin.new
|
75
110
|
mockv = flexmock('dns_resolver', getaddress: '127.0.0.1')
|
76
111
|
.should_receive(:getresources)
|
77
112
|
.and_return([Resolv::DNS::Resource::IN::SRV.new(1, 10, 8081, 'service1.example.com')])
|
78
113
|
.mock
|
79
114
|
mock(Resolv::DNS).new { mockv }
|
80
115
|
|
81
|
-
d.
|
82
|
-
:service_discovery_helper_test2,
|
83
|
-
configurations: [{ type: :srv, conf: config_element('service_discovery', '', { 'service' => 'service1', 'hostname' => 'example.com' }) }],
|
84
|
-
)
|
116
|
+
d.configure(config_element('root', '', {}, [config_element('service_discovery', '', { '@type' => 'srv', 'service' => 'service1', 'hostname' => 'example.com' })]))
|
85
117
|
|
86
118
|
assert_true !!d.discovery_manager
|
87
119
|
mock.proxy(d.discovery_manager).start.once
|
88
|
-
mock(d).timer_execute(:
|
120
|
+
mock(d).timer_execute(:service_discovery_helper_test, anything).once
|
89
121
|
|
90
122
|
# To avoid claring `@logs` during `terminate` step
|
91
123
|
# https://github.com/fluent/fluentd/blob/bc78d889f93dad8c2a4e0ad1ca802546185dacba/lib/fluent/test/log.rb#L33
|
92
|
-
mock(d.log).reset.
|
124
|
+
mock(d.log).reset.times(3)
|
93
125
|
|
94
126
|
d.start
|
95
127
|
d.event_loop_wait_until_start
|
@@ -102,4 +134,32 @@ class ServiceDiscoveryHelper < Test::Unit::TestCase
|
|
102
134
|
|
103
135
|
assert_false(d.log.out.logs.any? { |e| e.match?(/thread doesn't exit correctly/) })
|
104
136
|
end
|
137
|
+
|
138
|
+
test 'static service discovery will be configured automatically when default service directive is specified' do
|
139
|
+
d = @d = DummyPlugin.new
|
140
|
+
|
141
|
+
nodes = [
|
142
|
+
config_element('node', '', { 'host' => '192.168.0.1', 'port' => '24224' }),
|
143
|
+
config_element('node', '', { 'host' => '192.168.0.2', 'port' => '24224' })
|
144
|
+
]
|
145
|
+
d.configure(config_element('root', '', {}, nodes))
|
146
|
+
|
147
|
+
assert_true !!d.discovery_manager
|
148
|
+
|
149
|
+
mock.proxy(d.discovery_manager).start.once
|
150
|
+
mock.proxy(d).timer_execute(:service_discovery_helper_test, anything).never
|
151
|
+
|
152
|
+
d.start
|
153
|
+
d.event_loop_wait_until_start
|
154
|
+
|
155
|
+
assert_equal 2, d.discovery_manager.services.size
|
156
|
+
d.select_service do |serv|
|
157
|
+
assert_equal "192.168.0.1", serv.host
|
158
|
+
assert_equal 24224, serv.port
|
159
|
+
end
|
160
|
+
d.select_service do |serv|
|
161
|
+
assert_equal "192.168.0.2", serv.host
|
162
|
+
assert_equal 24224, serv.port
|
163
|
+
end
|
164
|
+
end
|
105
165
|
end
|
@@ -6,17 +6,24 @@ require 'socket'
|
|
6
6
|
require 'openssl'
|
7
7
|
|
8
8
|
class SocketHelperTest < Test::Unit::TestCase
|
9
|
-
PORT = unused_port
|
10
9
|
CERT_DIR = File.expand_path(File.dirname(__FILE__) + '/data/cert/without_ca')
|
11
10
|
CA_CERT_DIR = File.expand_path(File.dirname(__FILE__) + '/data/cert/with_ca')
|
12
11
|
CERT_CHAINS_DIR = File.expand_path(File.dirname(__FILE__) + '/data/cert/cert_chains')
|
13
12
|
|
13
|
+
def setup
|
14
|
+
@port = unused_port
|
15
|
+
end
|
16
|
+
|
17
|
+
def teardown
|
18
|
+
@port = nil
|
19
|
+
end
|
20
|
+
|
14
21
|
class SocketHelperTestPlugin < Fluent::Plugin::TestBase
|
15
22
|
helpers :socket
|
16
23
|
end
|
17
24
|
|
18
25
|
class EchoTLSServer
|
19
|
-
def initialize(host
|
26
|
+
def initialize(port, host: '127.0.0.1', cert_path: nil, private_key_path: nil, ca_path: nil)
|
20
27
|
server = TCPServer.open(host, port)
|
21
28
|
ctx = OpenSSL::SSL::SSLContext.new
|
22
29
|
ctx.cert = OpenSSL::X509::Certificate.new(File.open(cert_path)) if cert_path
|
@@ -91,8 +98,8 @@ class SocketHelperTest < Test::Unit::TestCase
|
|
91
98
|
cert_path = File.join(CERT_DIR, 'cert.pem')
|
92
99
|
private_key_path = File.join(CERT_DIR, 'cert-key.pem')
|
93
100
|
|
94
|
-
EchoTLSServer.new(cert_path: cert_path, private_key_path: private_key_path).start do
|
95
|
-
client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1',
|
101
|
+
EchoTLSServer.new(@port, cert_path: cert_path, private_key_path: private_key_path).start do
|
102
|
+
client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', @port, verify_fqdn: false, cert_paths: [cert_path])
|
96
103
|
client.write('hello')
|
97
104
|
assert_equal 'hello', client.readpartial(100)
|
98
105
|
client.close
|
@@ -105,8 +112,8 @@ class SocketHelperTest < Test::Unit::TestCase
|
|
105
112
|
|
106
113
|
ca_cert_path = File.join(CA_CERT_DIR, 'ca-cert.pem')
|
107
114
|
|
108
|
-
EchoTLSServer.new(cert_path: cert_path, private_key_path: private_key_path).start do
|
109
|
-
client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1',
|
115
|
+
EchoTLSServer.new(@port, cert_path: cert_path, private_key_path: private_key_path).start do
|
116
|
+
client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', @port, verify_fqdn: false, cert_paths: [ca_cert_path])
|
110
117
|
client.write('hello')
|
111
118
|
assert_equal 'hello', client.readpartial(100)
|
112
119
|
client.close
|
@@ -121,8 +128,8 @@ class SocketHelperTest < Test::Unit::TestCase
|
|
121
128
|
client_cert_path = File.join(CERT_CHAINS_DIR, 'cert.pem')
|
122
129
|
client_private_key_path = File.join(CERT_CHAINS_DIR, 'cert-key.pem')
|
123
130
|
|
124
|
-
EchoTLSServer.new(cert_path: cert_path, private_key_path: private_key_path, ca_path: client_ca_cert_path).start do
|
125
|
-
client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1',
|
131
|
+
EchoTLSServer.new(@port, cert_path: cert_path, private_key_path: private_key_path, ca_path: client_ca_cert_path).start do
|
132
|
+
client = SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', @port, verify_fqdn: false, cert_path: client_cert_path, private_key_path: client_private_key_path, cert_paths: [cert_path])
|
126
133
|
client.write('hello')
|
127
134
|
assert_equal 'hello', client.readpartial(100)
|
128
135
|
client.close
|
@@ -133,7 +140,7 @@ class SocketHelperTest < Test::Unit::TestCase
|
|
133
140
|
cert_path = File.expand_path(File.dirname(__FILE__) + '/data/cert/empty.pem')
|
134
141
|
|
135
142
|
assert_raise Fluent::ConfigError do
|
136
|
-
SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1',
|
143
|
+
SocketHelperTestPlugin.new.socket_create_tls('127.0.0.1', @port, cert_path: cert_path)
|
137
144
|
end
|
138
145
|
end
|
139
146
|
end
|
data/test/test_config.rb
CHANGED
@@ -160,7 +160,8 @@ class ConfigTest < Test::Unit::TestCase
|
|
160
160
|
prepare_config
|
161
161
|
opts = {
|
162
162
|
:config_path => "#{TMP_DIR}/config_test_1.conf",
|
163
|
-
:inline_config => "<source>\n type http\n port 2222\n </source>"
|
163
|
+
:inline_config => "<source>\n type http\n port 2222\n </source>",
|
164
|
+
:use_v1_config => false
|
164
165
|
}
|
165
166
|
assert_nothing_raised do
|
166
167
|
Fluent::Supervisor.new(opts)
|
data/test/test_event_time.rb
CHANGED
@@ -64,8 +64,8 @@ class EventTimeTest < Test::Unit::TestCase
|
|
64
64
|
|
65
65
|
test 'Oj.dump' do
|
66
66
|
time = Fluent::EventTime.new(100)
|
67
|
-
require 'fluent/
|
68
|
-
|
67
|
+
require 'fluent/oj_options'
|
68
|
+
Fluent::OjOptions.load_env
|
69
69
|
assert_equal('{"time":100}', Oj.dump({'time' => time}))
|
70
70
|
assert_equal('["tag",100,{"key":"value"}]', Oj.dump(["tag", time, {"key" => "value"}], mode: :compat))
|
71
71
|
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require_relative 'helper'
|
2
|
+
require 'fluent/test'
|
3
|
+
require 'fluent/oj_options'
|
4
|
+
|
5
|
+
class OjOptionsTest < ::Test::Unit::TestCase
|
6
|
+
begin
|
7
|
+
require 'oj'
|
8
|
+
@@oj_is_avaibale = true
|
9
|
+
rescue LoadError
|
10
|
+
@@oj_is_avaibale = false
|
11
|
+
end
|
12
|
+
|
13
|
+
setup do
|
14
|
+
@orig_env = {}
|
15
|
+
ENV.each do |key, value|
|
16
|
+
@orig_env[key] = value if key.start_with?("FLUENT_OJ_OPTION_")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
teardown do
|
21
|
+
ENV.delete_if { |key| key.start_with?("FLUENT_OJ_OPTION_") }
|
22
|
+
@orig_env.each { |key, value| ENV[key] = value }
|
23
|
+
end
|
24
|
+
|
25
|
+
test "available?" do
|
26
|
+
assert_equal(@@oj_is_avaibale, Fluent::OjOptions.available?)
|
27
|
+
end
|
28
|
+
|
29
|
+
sub_test_case "set by environment variable" do
|
30
|
+
test "when no env vars set, returns default options" do
|
31
|
+
ENV.delete_if { |key| key.start_with?("FLUENT_OJ_OPTION_") }
|
32
|
+
defaults = Fluent::OjOptions::DEFAULTS
|
33
|
+
assert_equal(defaults, Fluent::OjOptions.load_env)
|
34
|
+
assert_equal(defaults, Oj.default_options.slice(*defaults.keys)) if @@oj_is_avaibale
|
35
|
+
end
|
36
|
+
|
37
|
+
test "valid env var passed with valid value, default is overridden" do
|
38
|
+
ENV["FLUENT_OJ_OPTION_BIGDECIMAL_LOAD"] = ":bigdecimal"
|
39
|
+
assert_equal(:bigdecimal, Fluent::OjOptions.load_env[:bigdecimal_load])
|
40
|
+
assert_equal(:bigdecimal, Oj.default_options[:bigdecimal_load]) if @@oj_is_avaibale
|
41
|
+
end
|
42
|
+
|
43
|
+
test "valid env var passed with invalid value, default is not overriden" do
|
44
|
+
ENV["FLUENT_OJ_OPTION_BIGDECIMAL_LOAD"] = ":conor"
|
45
|
+
assert_equal(:float, Fluent::OjOptions.load_env[:bigdecimal_load])
|
46
|
+
assert_equal(:float, Oj.default_options[:bigdecimal_load]) if @@oj_is_avaibale
|
47
|
+
end
|
48
|
+
|
49
|
+
test "invalid env var passed, nothing done with it" do
|
50
|
+
ENV["FLUENT_OJ_OPTION_CONOR"] = ":conor"
|
51
|
+
assert_equal(nil, Fluent::OjOptions.load_env[:conor])
|
52
|
+
assert_equal(nil, Oj.default_options[:conor]) if @@oj_is_avaibale
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
data/test/test_supervisor.rb
CHANGED
@@ -7,6 +7,7 @@ require_relative 'test_plugin_classes'
|
|
7
7
|
require 'net/http'
|
8
8
|
require 'uri'
|
9
9
|
require 'fileutils'
|
10
|
+
require 'tempfile'
|
10
11
|
|
11
12
|
if Fluent.windows?
|
12
13
|
require 'win32/event'
|
@@ -489,6 +490,40 @@ class SupervisorTest < ::Test::Unit::TestCase
|
|
489
490
|
assert_equal 10, $log.out.instance_variable_get(:@shift_size)
|
490
491
|
end
|
491
492
|
|
493
|
+
sub_test_case "system log rotation" do
|
494
|
+
def parse_text(text)
|
495
|
+
basepath = File.expand_path(File.dirname(__FILE__) + '/../../')
|
496
|
+
Fluent::Config.parse(text, '(test)', basepath, true).elements.find { |e| e.name == 'system' }
|
497
|
+
end
|
498
|
+
|
499
|
+
def test_override_default_log_rotate
|
500
|
+
Tempfile.open do |file|
|
501
|
+
config = parse_text(<<-EOS)
|
502
|
+
<system>
|
503
|
+
<log>
|
504
|
+
rotate_age 3
|
505
|
+
rotate_size 300
|
506
|
+
</log>
|
507
|
+
</system>
|
508
|
+
EOS
|
509
|
+
file.puts(config)
|
510
|
+
file.flush
|
511
|
+
opts = Fluent::Supervisor.default_options.merge(
|
512
|
+
log_path: "#{TMP_DIR}/test.log", config_path: file.path
|
513
|
+
)
|
514
|
+
sv = Fluent::Supervisor.new(opts)
|
515
|
+
|
516
|
+
log = sv.instance_variable_get(:@log)
|
517
|
+
log.init(:standalone, 0)
|
518
|
+
logger = $log.instance_variable_get(:@logger)
|
519
|
+
|
520
|
+
assert_equal([3, 300],
|
521
|
+
[logger.instance_variable_get(:@rotate_age),
|
522
|
+
logger.instance_variable_get(:@rotate_size)])
|
523
|
+
end
|
524
|
+
end
|
525
|
+
end
|
526
|
+
|
492
527
|
def test_inline_config
|
493
528
|
omit 'this feature is deprecated. see https://github.com/fluent/fluentd/issues/2711'
|
494
529
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluentd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.13.3
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- Sadayuki Furuhashi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -107,7 +107,7 @@ dependencies:
|
|
107
107
|
version: 0.5.1
|
108
108
|
- - "<"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
110
|
+
version: 0.8.0
|
111
111
|
type: :runtime
|
112
112
|
prerelease: false
|
113
113
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -117,7 +117,7 @@ dependencies:
|
|
117
117
|
version: 0.5.1
|
118
118
|
- - "<"
|
119
119
|
- !ruby/object:Gem::Version
|
120
|
-
version: 0.
|
120
|
+
version: 0.8.0
|
121
121
|
- !ruby/object:Gem::Dependency
|
122
122
|
name: sigdump
|
123
123
|
requirement: !ruby/object:Gem::Requirement
|
@@ -463,9 +463,9 @@ files:
|
|
463
463
|
- ".deepsource.toml"
|
464
464
|
- ".drone.yml"
|
465
465
|
- ".github/ISSUE_TEMPLATE.md"
|
466
|
-
- ".github/ISSUE_TEMPLATE/bug_report.
|
466
|
+
- ".github/ISSUE_TEMPLATE/bug_report.yaml"
|
467
467
|
- ".github/ISSUE_TEMPLATE/config.yml"
|
468
|
-
- ".github/ISSUE_TEMPLATE/feature_request.
|
468
|
+
- ".github/ISSUE_TEMPLATE/feature_request.yaml"
|
469
469
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
470
470
|
- ".github/workflows/issue-auto-closer.yml"
|
471
471
|
- ".github/workflows/linux-test.yaml"
|
@@ -609,6 +609,7 @@ files:
|
|
609
609
|
- lib/fluent/match.rb
|
610
610
|
- lib/fluent/mixin.rb
|
611
611
|
- lib/fluent/msgpack_factory.rb
|
612
|
+
- lib/fluent/oj_options.rb
|
612
613
|
- lib/fluent/output.rb
|
613
614
|
- lib/fluent/output_chain.rb
|
614
615
|
- lib/fluent/parser.rb
|
@@ -754,6 +755,7 @@ files:
|
|
754
755
|
- lib/fluent/test/driver/multi_output.rb
|
755
756
|
- lib/fluent/test/driver/output.rb
|
756
757
|
- lib/fluent/test/driver/parser.rb
|
758
|
+
- lib/fluent/test/driver/storage.rb
|
757
759
|
- lib/fluent/test/driver/test_event_router.rb
|
758
760
|
- lib/fluent/test/filter_test.rb
|
759
761
|
- lib/fluent/test/formatter_test.rb
|
@@ -779,12 +781,14 @@ files:
|
|
779
781
|
- templates/new_gem/lib/fluent/plugin/input.rb.erb
|
780
782
|
- templates/new_gem/lib/fluent/plugin/output.rb.erb
|
781
783
|
- templates/new_gem/lib/fluent/plugin/parser.rb.erb
|
784
|
+
- templates/new_gem/lib/fluent/plugin/storage.rb.erb
|
782
785
|
- templates/new_gem/test/helper.rb.erb
|
783
786
|
- templates/new_gem/test/plugin/test_filter.rb.erb
|
784
787
|
- templates/new_gem/test/plugin/test_formatter.rb.erb
|
785
788
|
- templates/new_gem/test/plugin/test_input.rb.erb
|
786
789
|
- templates/new_gem/test/plugin/test_output.rb.erb
|
787
790
|
- templates/new_gem/test/plugin/test_parser.rb.erb
|
791
|
+
- templates/new_gem/test/plugin/test_storage.rb.erb
|
788
792
|
- templates/plugin_config_formatter/param.md-compact.erb
|
789
793
|
- templates/plugin_config_formatter/param.md-table.erb
|
790
794
|
- templates/plugin_config_formatter/param.md.erb
|
@@ -792,6 +796,7 @@ files:
|
|
792
796
|
- test/command/test_binlog_reader.rb
|
793
797
|
- test/command/test_ca_generate.rb
|
794
798
|
- test/command/test_cap_ctl.rb
|
799
|
+
- test/command/test_cat.rb
|
795
800
|
- test/command/test_ctl.rb
|
796
801
|
- test/command/test_fluentd.rb
|
797
802
|
- test/command/test_plugin_config_formatter.rb
|
@@ -988,6 +993,7 @@ files:
|
|
988
993
|
- test/test_match.rb
|
989
994
|
- test/test_mixin.rb
|
990
995
|
- test/test_msgpack_factory.rb
|
996
|
+
- test/test_oj_options.rb
|
991
997
|
- test/test_output.rb
|
992
998
|
- test/test_plugin.rb
|
993
999
|
- test/test_plugin_classes.rb
|
@@ -1022,7 +1028,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1022
1028
|
- !ruby/object:Gem::Version
|
1023
1029
|
version: '0'
|
1024
1030
|
requirements: []
|
1025
|
-
rubygems_version: 3.
|
1031
|
+
rubygems_version: 3.1.6
|
1026
1032
|
signing_key:
|
1027
1033
|
specification_version: 4
|
1028
1034
|
summary: Fluentd event collector
|
@@ -1030,6 +1036,7 @@ test_files:
|
|
1030
1036
|
- test/command/test_binlog_reader.rb
|
1031
1037
|
- test/command/test_ca_generate.rb
|
1032
1038
|
- test/command/test_cap_ctl.rb
|
1039
|
+
- test/command/test_cat.rb
|
1033
1040
|
- test/command/test_ctl.rb
|
1034
1041
|
- test/command/test_fluentd.rb
|
1035
1042
|
- test/command/test_plugin_config_formatter.rb
|
@@ -1226,6 +1233,7 @@ test_files:
|
|
1226
1233
|
- test/test_match.rb
|
1227
1234
|
- test/test_mixin.rb
|
1228
1235
|
- test/test_msgpack_factory.rb
|
1236
|
+
- test/test_oj_options.rb
|
1229
1237
|
- test/test_output.rb
|
1230
1238
|
- test/test_plugin.rb
|
1231
1239
|
- test/test_plugin_classes.rb
|
@@ -1,40 +0,0 @@
|
|
1
|
-
---
|
2
|
-
name: Bug Report
|
3
|
-
about: Create a report with a procedure for reproducing the bug
|
4
|
-
|
5
|
-
---
|
6
|
-
|
7
|
-
Check [CONTRIBUTING guideline](https://github.com/fluent/fluentd/blob/master/CONTRIBUTING.md) first and here is the list to help us investigate the problem.
|
8
|
-
|
9
|
-
**Describe the bug**
|
10
|
-
<!-- A clear and concise description of what the bug is. -->
|
11
|
-
|
12
|
-
**To Reproduce**
|
13
|
-
<!-- Steps to reproduce the behavior: -->
|
14
|
-
|
15
|
-
**Expected behavior**
|
16
|
-
<!-- A clear and concise description of what you expected to happen. -->
|
17
|
-
|
18
|
-
**Your Environment**
|
19
|
-
|
20
|
-
- Fluentd or td-agent version: `fluentd --version` or `td-agent --version`
|
21
|
-
- Operating system: `cat /etc/os-release`
|
22
|
-
- Kernel version: `uname -r`
|
23
|
-
|
24
|
-
If you hit the problem with older fluentd version, try latest version first.
|
25
|
-
|
26
|
-
**Your Configuration**
|
27
|
-
|
28
|
-
```
|
29
|
-
<!-- Write your configuration here -->
|
30
|
-
```
|
31
|
-
|
32
|
-
**Your Error Log**
|
33
|
-
|
34
|
-
```
|
35
|
-
<!-- Write your **ALL** error log here -->
|
36
|
-
```
|
37
|
-
|
38
|
-
**Additional context**
|
39
|
-
|
40
|
-
<!-- Add any other context about the problem here. -->
|