fluentd 1.11.2-x64-mingw32 → 1.12.1-x64-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.md +1 -1
- data/.github/ISSUE_TEMPLATE/config.yml +5 -0
- data/.github/workflows/build.yaml +29 -0
- data/.github/workflows/stale-actions.yml +22 -0
- data/.travis.yml +22 -2
- data/CHANGELOG.md +114 -0
- data/README.md +2 -2
- data/appveyor.yml +3 -0
- data/bin/fluent-cap-ctl +7 -0
- data/bin/fluent-ctl +7 -0
- data/fluentd.gemspec +8 -8
- data/lib/fluent/capability.rb +87 -0
- data/lib/fluent/command/ca_generate.rb +6 -3
- data/lib/fluent/command/cap_ctl.rb +174 -0
- data/lib/fluent/command/ctl.rb +177 -0
- data/lib/fluent/command/fluentd.rb +4 -0
- data/lib/fluent/command/plugin_config_formatter.rb +17 -2
- data/lib/fluent/config/section.rb +1 -1
- data/lib/fluent/env.rb +4 -0
- data/lib/fluent/log.rb +33 -3
- data/lib/fluent/plugin.rb +5 -0
- data/lib/fluent/plugin/buffer.rb +27 -57
- data/lib/fluent/plugin/buffer/chunk.rb +2 -1
- data/lib/fluent/plugin/formatter.rb +24 -0
- data/lib/fluent/plugin/formatter_csv.rb +1 -1
- data/lib/fluent/plugin/formatter_hash.rb +3 -1
- data/lib/fluent/plugin/formatter_json.rb +3 -1
- data/lib/fluent/plugin/formatter_ltsv.rb +5 -3
- data/lib/fluent/plugin/formatter_out_file.rb +6 -4
- data/lib/fluent/plugin/formatter_single_value.rb +4 -2
- data/lib/fluent/plugin/formatter_tsv.rb +4 -2
- data/lib/fluent/plugin/in_exec.rb +4 -2
- data/lib/fluent/plugin/in_http.rb +23 -2
- data/lib/fluent/plugin/in_tail.rb +109 -41
- data/lib/fluent/plugin/in_tail/position_file.rb +39 -14
- data/lib/fluent/plugin/in_tcp.rb +1 -0
- data/lib/fluent/plugin/out_http.rb +29 -4
- data/lib/fluent/plugin/output.rb +15 -6
- data/lib/fluent/plugin/parser_json.rb +5 -2
- data/lib/fluent/plugin_helper/http_server/compat/server.rb +1 -1
- data/lib/fluent/plugin_helper/inject.rb +4 -1
- data/lib/fluent/plugin_helper/retry_state.rb +4 -0
- data/lib/fluent/supervisor.rb +162 -51
- data/lib/fluent/system_config.rb +4 -2
- data/lib/fluent/time.rb +1 -0
- data/lib/fluent/version.rb +1 -1
- data/lib/fluent/winsvc.rb +22 -4
- data/templates/plugin_config_formatter/param.md-table.erb +10 -0
- data/test/command/test_binlog_reader.rb +22 -6
- data/test/command/test_cap_ctl.rb +100 -0
- data/test/command/test_ctl.rb +57 -0
- data/test/command/test_fluentd.rb +30 -0
- data/test/command/test_plugin_config_formatter.rb +124 -2
- data/test/plugin/in_tail/test_position_file.rb +46 -26
- data/test/plugin/test_buffer.rb +4 -0
- data/test/plugin/test_filter_stdout.rb +6 -1
- data/test/plugin/test_formatter_hash.rb +6 -3
- data/test/plugin/test_formatter_json.rb +14 -4
- data/test/plugin/test_formatter_ltsv.rb +13 -5
- data/test/plugin/test_formatter_out_file.rb +35 -14
- data/test/plugin/test_formatter_single_value.rb +12 -6
- data/test/plugin/test_formatter_tsv.rb +12 -4
- data/test/plugin/test_in_exec.rb +18 -0
- data/test/plugin/test_in_http.rb +25 -0
- data/test/plugin/test_in_tail.rb +433 -30
- data/test/plugin/test_out_file.rb +23 -18
- data/test/plugin/test_out_http.rb +19 -0
- data/test/plugin/test_output.rb +12 -0
- data/test/plugin/test_parser_syslog.rb +2 -2
- data/test/plugin/test_sd_file.rb +1 -1
- data/test/plugin_helper/test_compat_parameters.rb +7 -2
- data/test/plugin_helper/test_http_server_helper.rb +8 -1
- data/test/plugin_helper/test_inject.rb +42 -0
- data/test/plugin_helper/test_server.rb +18 -5
- data/test/test_capability.rb +74 -0
- data/test/test_formatter.rb +34 -10
- data/test/test_log.rb +44 -0
- data/test/test_output.rb +6 -1
- data/test/test_supervisor.rb +150 -1
- metadata +49 -37
data/test/test_formatter.rb
CHANGED
@@ -53,6 +53,11 @@ module FormatterTest
|
|
53
53
|
def setup
|
54
54
|
@formatter = Fluent::Test::FormatterTestDriver.new('out_file')
|
55
55
|
@time = Engine.now
|
56
|
+
@newline = if Fluent.windows?
|
57
|
+
"\r\n"
|
58
|
+
else
|
59
|
+
"\n"
|
60
|
+
end
|
56
61
|
end
|
57
62
|
|
58
63
|
def configure(conf)
|
@@ -63,28 +68,28 @@ module FormatterTest
|
|
63
68
|
configure({})
|
64
69
|
formatted = @formatter.format(tag, @time, record)
|
65
70
|
|
66
|
-
assert_equal("#{time2str(@time)}\t#{tag}\t#{Yajl.dump(record)}
|
71
|
+
assert_equal("#{time2str(@time)}\t#{tag}\t#{Yajl.dump(record)}#{@newline}", formatted)
|
67
72
|
end
|
68
73
|
|
69
74
|
def test_format_without_time
|
70
75
|
configure('output_time' => 'false')
|
71
76
|
formatted = @formatter.format(tag, @time, record)
|
72
77
|
|
73
|
-
assert_equal("#{tag}\t#{Yajl.dump(record)}
|
78
|
+
assert_equal("#{tag}\t#{Yajl.dump(record)}#{@newline}", formatted)
|
74
79
|
end
|
75
80
|
|
76
81
|
def test_format_without_tag
|
77
82
|
configure('output_tag' => 'false')
|
78
83
|
formatted = @formatter.format(tag, @time, record)
|
79
84
|
|
80
|
-
assert_equal("#{time2str(@time)}\t#{Yajl.dump(record)}
|
85
|
+
assert_equal("#{time2str(@time)}\t#{Yajl.dump(record)}#{@newline}", formatted)
|
81
86
|
end
|
82
87
|
|
83
88
|
def test_format_without_time_and_tag
|
84
89
|
configure('output_tag' => 'false', 'output_time' => 'false')
|
85
90
|
formatted = @formatter.format('tag', @time, record)
|
86
91
|
|
87
|
-
assert_equal("#{Yajl.dump(record)}
|
92
|
+
assert_equal("#{Yajl.dump(record)}#{@newline}", formatted)
|
88
93
|
end
|
89
94
|
|
90
95
|
def test_format_without_time_and_tag_against_string_literal_configure
|
@@ -95,7 +100,7 @@ module FormatterTest
|
|
95
100
|
])
|
96
101
|
formatted = @formatter.format('tag', @time, record)
|
97
102
|
|
98
|
-
assert_equal("#{Yajl.dump(record)}
|
103
|
+
assert_equal("#{Yajl.dump(record)}#{@newline}", formatted)
|
99
104
|
end
|
100
105
|
end
|
101
106
|
|
@@ -105,6 +110,11 @@ module FormatterTest
|
|
105
110
|
def setup
|
106
111
|
@formatter = Fluent::Test::FormatterTestDriver.new(TextFormatter::JSONFormatter)
|
107
112
|
@time = Engine.now
|
113
|
+
@newline = if Fluent.windows?
|
114
|
+
"\r\n"
|
115
|
+
else
|
116
|
+
"\n"
|
117
|
+
end
|
108
118
|
end
|
109
119
|
|
110
120
|
data('oj' => 'oj', 'yajl' => 'yajl')
|
@@ -112,7 +122,7 @@ module FormatterTest
|
|
112
122
|
@formatter.configure('json_parser' => data)
|
113
123
|
formatted = @formatter.format(tag, @time, record)
|
114
124
|
|
115
|
-
assert_equal("#{Yajl.dump(record)}
|
125
|
+
assert_equal("#{Yajl.dump(record)}#{@newline}", formatted)
|
116
126
|
end
|
117
127
|
end
|
118
128
|
|
@@ -138,6 +148,11 @@ module FormatterTest
|
|
138
148
|
def setup
|
139
149
|
@formatter = TextFormatter::LabeledTSVFormatter.new
|
140
150
|
@time = Engine.now
|
151
|
+
@newline = if Fluent.windows?
|
152
|
+
"\r\n"
|
153
|
+
else
|
154
|
+
"\n"
|
155
|
+
end
|
141
156
|
end
|
142
157
|
|
143
158
|
def test_config_params
|
@@ -157,7 +172,7 @@ module FormatterTest
|
|
157
172
|
@formatter.configure({})
|
158
173
|
formatted = @formatter.format(tag, @time, record)
|
159
174
|
|
160
|
-
assert_equal("message:awesome\tgreeting:hello
|
175
|
+
assert_equal("message:awesome\tgreeting:hello#{@newline}", formatted)
|
161
176
|
end
|
162
177
|
|
163
178
|
def test_format_with_customized_delimiters
|
@@ -167,7 +182,7 @@ module FormatterTest
|
|
167
182
|
)
|
168
183
|
formatted = @formatter.format(tag, @time, record)
|
169
184
|
|
170
|
-
assert_equal("message=awesome,greeting=hello
|
185
|
+
assert_equal("message=awesome,greeting=hello#{@newline}", formatted)
|
171
186
|
end
|
172
187
|
end
|
173
188
|
|
@@ -260,6 +275,14 @@ module FormatterTest
|
|
260
275
|
|
261
276
|
class SingleValueFormatterTest < ::Test::Unit::TestCase
|
262
277
|
include FormatterTest
|
278
|
+
def setup
|
279
|
+
@newline = if Fluent.windows?
|
280
|
+
"\r\n"
|
281
|
+
else
|
282
|
+
"\n"
|
283
|
+
end
|
284
|
+
end
|
285
|
+
|
263
286
|
|
264
287
|
def test_config_params
|
265
288
|
formatter = TextFormatter::SingleValueFormatter.new
|
@@ -271,8 +294,9 @@ module FormatterTest
|
|
271
294
|
|
272
295
|
def test_format
|
273
296
|
formatter = Fluent::Plugin.new_formatter('single_value')
|
297
|
+
formatter.configure({})
|
274
298
|
formatted = formatter.format('tag', Engine.now, {'message' => 'awesome'})
|
275
|
-
assert_equal("awesome
|
299
|
+
assert_equal("awesome#{@newline}", formatted)
|
276
300
|
end
|
277
301
|
|
278
302
|
def test_format_without_newline
|
@@ -287,7 +311,7 @@ module FormatterTest
|
|
287
311
|
formatter.configure('message_key' => 'foobar')
|
288
312
|
formatted = formatter.format('tag', Engine.now, {'foobar' => 'foo'})
|
289
313
|
|
290
|
-
assert_equal("foo
|
314
|
+
assert_equal("foo#{@newline}", formatted)
|
291
315
|
end
|
292
316
|
end
|
293
317
|
|
data/test/test_log.rb
CHANGED
@@ -411,6 +411,50 @@ class LogTest < Test::Unit::TestCase
|
|
411
411
|
end
|
412
412
|
end
|
413
413
|
|
414
|
+
sub_test_case "ignore_same_log_interval" do
|
415
|
+
teardown do
|
416
|
+
Thread.current[:last_same_log] = nil
|
417
|
+
end
|
418
|
+
|
419
|
+
def test_same_message
|
420
|
+
message = "This is test"
|
421
|
+
logger = ServerEngine::DaemonLogger.new(@log_device, {log_level: ServerEngine::DaemonLogger::INFO})
|
422
|
+
log = Fluent::Log.new(logger, {ignore_same_log_interval: 5})
|
423
|
+
|
424
|
+
log.error message
|
425
|
+
10.times { |i|
|
426
|
+
Timecop.freeze(@timestamp + i + 1)
|
427
|
+
log.error message
|
428
|
+
}
|
429
|
+
|
430
|
+
expected = [
|
431
|
+
"2016-04-21 02:58:41 +0000 [error]: This is test\n",
|
432
|
+
"2016-04-21 02:58:47 +0000 [error]: This is test\n"
|
433
|
+
]
|
434
|
+
assert_equal(expected, log.out.logs)
|
435
|
+
end
|
436
|
+
|
437
|
+
def test_different_message
|
438
|
+
message = "This is test"
|
439
|
+
logger = ServerEngine::DaemonLogger.new(@log_device, {log_level: ServerEngine::DaemonLogger::INFO})
|
440
|
+
log = Fluent::Log.new(logger, {ignore_same_log_interval: 10})
|
441
|
+
|
442
|
+
log.error message
|
443
|
+
3.times { |i|
|
444
|
+
Timecop.freeze(@timestamp + i)
|
445
|
+
log.error message
|
446
|
+
log.error message
|
447
|
+
log.info "Hello! " + message
|
448
|
+
}
|
449
|
+
|
450
|
+
expected = [
|
451
|
+
"2016-04-21 02:58:41 +0000 [error]: This is test\n",
|
452
|
+
"2016-04-21 02:58:41 +0000 [info]: Hello! This is test\n",
|
453
|
+
]
|
454
|
+
assert_equal(expected, log.out.logs)
|
455
|
+
end
|
456
|
+
end
|
457
|
+
|
414
458
|
def test_dup
|
415
459
|
dl_opts = {}
|
416
460
|
dl_opts[:log_level] = ServerEngine::DaemonLogger::TRACE
|
data/test/test_output.rb
CHANGED
@@ -230,6 +230,11 @@ module FluentOutputTest
|
|
230
230
|
setup do
|
231
231
|
@time = Time.parse("2011-01-02 13:14:15 UTC")
|
232
232
|
Timecop.freeze(@time)
|
233
|
+
@newline = if Fluent.windows?
|
234
|
+
"\r\n"
|
235
|
+
else
|
236
|
+
"\n"
|
237
|
+
end
|
233
238
|
end
|
234
239
|
|
235
240
|
teardown do
|
@@ -265,7 +270,7 @@ module FluentOutputTest
|
|
265
270
|
])
|
266
271
|
time = Time.parse("2016-11-08 12:00:00 UTC").to_i
|
267
272
|
d.emit({"a" => 1}, time)
|
268
|
-
d.expect_format %[2016-11-08T12:00:00Z\ttest\t{"a":1,"time":"2016-11-08T12:00:00Z"}
|
273
|
+
d.expect_format %[2016-11-08T12:00:00Z\ttest\t{"a":1,"time":"2016-11-08T12:00:00Z"}#{@newline}]
|
269
274
|
d.run
|
270
275
|
end
|
271
276
|
end
|
data/test/test_supervisor.rb
CHANGED
@@ -8,6 +8,10 @@ require 'net/http'
|
|
8
8
|
require 'uri'
|
9
9
|
require 'fileutils'
|
10
10
|
|
11
|
+
if Fluent.windows?
|
12
|
+
require 'win32/event'
|
13
|
+
end
|
14
|
+
|
11
15
|
class SupervisorTest < ::Test::Unit::TestCase
|
12
16
|
class DummyServer
|
13
17
|
include Fluent::ServerModule
|
@@ -107,6 +111,32 @@ class SupervisorTest < ::Test::Unit::TestCase
|
|
107
111
|
$log.out.reset if $log && $log.out && $log.out.respond_to?(:reset)
|
108
112
|
end
|
109
113
|
|
114
|
+
def test_main_process_command_handlers
|
115
|
+
omit "Only for Windows, alternative to UNIX signals" unless Fluent.windows?
|
116
|
+
|
117
|
+
create_info_dummy_logger
|
118
|
+
|
119
|
+
opts = Fluent::Supervisor.default_options
|
120
|
+
sv = Fluent::Supervisor.new(opts)
|
121
|
+
r, w = IO.pipe
|
122
|
+
$stdin = r
|
123
|
+
sv.send(:install_main_process_signal_handlers)
|
124
|
+
|
125
|
+
begin
|
126
|
+
w.write("GRACEFUL_RESTART\n")
|
127
|
+
w.flush
|
128
|
+
ensure
|
129
|
+
$stdin = STDIN
|
130
|
+
end
|
131
|
+
|
132
|
+
sleep 1
|
133
|
+
|
134
|
+
info_msg = '[info]: force flushing buffered events' + "\n"
|
135
|
+
assert{ $log.out.logs.first.end_with?(info_msg) }
|
136
|
+
ensure
|
137
|
+
$log.out.reset if $log && $log.out && $log.out.respond_to?(:reset)
|
138
|
+
end
|
139
|
+
|
110
140
|
def test_supervisor_signal_handler
|
111
141
|
omit "Windows cannot handle signals" if Fluent.windows?
|
112
142
|
|
@@ -128,6 +158,60 @@ class SupervisorTest < ::Test::Unit::TestCase
|
|
128
158
|
$log.out.reset if $log && $log.out && $log.out.respond_to?(:reset)
|
129
159
|
end
|
130
160
|
|
161
|
+
def test_windows_shutdown_event
|
162
|
+
omit "Only for Windows platform" unless Fluent.windows?
|
163
|
+
|
164
|
+
server = DummyServer.new
|
165
|
+
def server.config
|
166
|
+
{:signame => "TestFluentdEvent"}
|
167
|
+
end
|
168
|
+
|
169
|
+
mock(server).stop(true)
|
170
|
+
stub(Process).kill.times(0)
|
171
|
+
|
172
|
+
server.install_windows_event_handler
|
173
|
+
begin
|
174
|
+
sleep 0.1 # Wait for starting windows event thread
|
175
|
+
event = Win32::Event.open("TestFluentdEvent")
|
176
|
+
event.set
|
177
|
+
event.close
|
178
|
+
ensure
|
179
|
+
server.stop_windows_event_thread
|
180
|
+
end
|
181
|
+
|
182
|
+
debug_msg = '[debug]: Got Win32 event "TestFluentdEvent"'
|
183
|
+
logs = $log.out.logs
|
184
|
+
assert{ logs.any?{|log| log.include?(debug_msg) } }
|
185
|
+
ensure
|
186
|
+
$log.out.reset if $log && $log.out && $log.out.respond_to?(:reset)
|
187
|
+
end
|
188
|
+
|
189
|
+
def test_supervisor_event_handler
|
190
|
+
omit "Only for Windows, alternative to UNIX signals" unless Fluent.windows?
|
191
|
+
|
192
|
+
create_debug_dummy_logger
|
193
|
+
|
194
|
+
server = DummyServer.new
|
195
|
+
def server.config
|
196
|
+
{:signame => "TestFluentdEvent"}
|
197
|
+
end
|
198
|
+
server.install_windows_event_handler
|
199
|
+
begin
|
200
|
+
sleep 0.1 # Wait for starting windows event thread
|
201
|
+
event = Win32::Event.open("TestFluentdEvent_USR1")
|
202
|
+
event.set
|
203
|
+
event.close
|
204
|
+
ensure
|
205
|
+
server.stop_windows_event_thread
|
206
|
+
end
|
207
|
+
|
208
|
+
debug_msg = '[debug]: Got Win32 event "TestFluentdEvent_USR1"'
|
209
|
+
logs = $log.out.logs
|
210
|
+
assert{ logs.any?{|log| log.include?(debug_msg) } }
|
211
|
+
ensure
|
212
|
+
$log.out.reset if $log && $log.out && $log.out.respond_to?(:reset)
|
213
|
+
end
|
214
|
+
|
131
215
|
def test_rpc_server
|
132
216
|
omit "Windows cannot handle signals" if Fluent.windows?
|
133
217
|
|
@@ -150,7 +234,7 @@ class SupervisorTest < ::Test::Unit::TestCase
|
|
150
234
|
server.run_rpc_server
|
151
235
|
|
152
236
|
sv.send(:install_main_process_signal_handlers)
|
153
|
-
Net::HTTP.get
|
237
|
+
response = Net::HTTP.get(URI.parse('http://127.0.0.1:24447/api/plugins.flushBuffers'))
|
154
238
|
info_msg = '[info]: force flushing buffered events' + "\n"
|
155
239
|
|
156
240
|
server.stop_rpc_server
|
@@ -159,11 +243,45 @@ class SupervisorTest < ::Test::Unit::TestCase
|
|
159
243
|
# This test will be passed in such environment.
|
160
244
|
pend unless $log.out.logs.first
|
161
245
|
|
246
|
+
assert_equal('{"ok":true}', response)
|
162
247
|
assert{ $log.out.logs.first.end_with?(info_msg) }
|
163
248
|
ensure
|
164
249
|
$log.out.reset if $log.out.is_a?(Fluent::Test::DummyLogDevice)
|
165
250
|
end
|
166
251
|
|
252
|
+
def test_rpc_server_windows
|
253
|
+
omit "Only for windows platform" unless Fluent.windows?
|
254
|
+
|
255
|
+
create_info_dummy_logger
|
256
|
+
|
257
|
+
opts = Fluent::Supervisor.default_options
|
258
|
+
sv = Fluent::Supervisor.new(opts)
|
259
|
+
conf_data = <<-EOC
|
260
|
+
<system>
|
261
|
+
rpc_endpoint 0.0.0.0:24447
|
262
|
+
</system>
|
263
|
+
EOC
|
264
|
+
conf = Fluent::Config.parse(conf_data, "(test)", "(test_dir)", true)
|
265
|
+
sys_conf = sv.__send__(:build_system_config, conf)
|
266
|
+
|
267
|
+
server = DummyServer.new
|
268
|
+
def server.config
|
269
|
+
{
|
270
|
+
:signame => "TestFluentdEvent",
|
271
|
+
:worker_pid => 5963,
|
272
|
+
}
|
273
|
+
end
|
274
|
+
server.rpc_endpoint = sys_conf.rpc_endpoint
|
275
|
+
|
276
|
+
server.run_rpc_server
|
277
|
+
|
278
|
+
mock(server).restart(true) { nil }
|
279
|
+
response = Net::HTTP.get(URI.parse('http://127.0.0.1:24447/api/plugins.flushBuffers'))
|
280
|
+
|
281
|
+
server.stop_rpc_server
|
282
|
+
assert_equal('{"ok":true}', response)
|
283
|
+
end
|
284
|
+
|
167
285
|
def test_load_config
|
168
286
|
tmp_dir = "#{TMP_DIR}/dir/test_load_config.conf"
|
169
287
|
conf_info_str = %[
|
@@ -399,6 +517,37 @@ class SupervisorTest < ::Test::Unit::TestCase
|
|
399
517
|
assert_equal Fluent::Log::LEVEL_ERROR, $log.level
|
400
518
|
end
|
401
519
|
|
520
|
+
def test_enable_shared_socket
|
521
|
+
server = DummyServer.new
|
522
|
+
begin
|
523
|
+
ENV.delete('SERVERENGINE_SOCKETMANAGER_PATH')
|
524
|
+
server.before_run
|
525
|
+
sleep 0.1 if Fluent.windows? # Wait for starting windows event thread
|
526
|
+
assert_not_nil(ENV['SERVERENGINE_SOCKETMANAGER_PATH'])
|
527
|
+
ensure
|
528
|
+
server.after_run
|
529
|
+
ENV.delete('SERVERENGINE_SOCKETMANAGER_PATH')
|
530
|
+
end
|
531
|
+
end
|
532
|
+
|
533
|
+
def test_disable_shared_socket
|
534
|
+
server = DummyServer.new
|
535
|
+
def server.config
|
536
|
+
{
|
537
|
+
:disable_shared_socket => true,
|
538
|
+
}
|
539
|
+
end
|
540
|
+
begin
|
541
|
+
ENV.delete('SERVERENGINE_SOCKETMANAGER_PATH')
|
542
|
+
server.before_run
|
543
|
+
sleep 0.1 if Fluent.windows? # Wait for starting windows event thread
|
544
|
+
assert_nil(ENV['SERVERENGINE_SOCKETMANAGER_PATH'])
|
545
|
+
ensure
|
546
|
+
server.after_run
|
547
|
+
ENV.delete('SERVERENGINE_SOCKETMANAGER_PATH')
|
548
|
+
end
|
549
|
+
end
|
550
|
+
|
402
551
|
def create_debug_dummy_logger
|
403
552
|
dl_opts = {}
|
404
553
|
dl_opts[:log_level] = ServerEngine::DaemonLogger::DEBUG
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluentd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.12.1
|
5
5
|
platform: x64-mingw32
|
6
6
|
authors:
|
7
7
|
- Sadayuki Furuhashi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: msgpack
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,7 +84,7 @@ dependencies:
|
|
70
84
|
requirements:
|
71
85
|
- - ">="
|
72
86
|
- !ruby/object:Gem::Version
|
73
|
-
version: 2.
|
87
|
+
version: 2.2.2
|
74
88
|
- - "<"
|
75
89
|
- !ruby/object:Gem::Version
|
76
90
|
version: 3.0.0
|
@@ -80,7 +94,7 @@ dependencies:
|
|
80
94
|
requirements:
|
81
95
|
- - ">="
|
82
96
|
- !ruby/object:Gem::Version
|
83
|
-
version: 2.
|
97
|
+
version: 2.2.2
|
84
98
|
- - "<"
|
85
99
|
- !ruby/object:Gem::Version
|
86
100
|
version: 3.0.0
|
@@ -178,70 +192,70 @@ dependencies:
|
|
178
192
|
requirements:
|
179
193
|
- - "~>"
|
180
194
|
- !ruby/object:Gem::Version
|
181
|
-
version:
|
195
|
+
version: 2.1.5
|
182
196
|
type: :runtime
|
183
197
|
prerelease: false
|
184
198
|
version_requirements: !ruby/object:Gem::Requirement
|
185
199
|
requirements:
|
186
200
|
- - "~>"
|
187
201
|
- !ruby/object:Gem::Version
|
188
|
-
version:
|
202
|
+
version: 2.1.5
|
189
203
|
- !ruby/object:Gem::Dependency
|
190
204
|
name: win32-ipc
|
191
205
|
requirement: !ruby/object:Gem::Requirement
|
192
206
|
requirements:
|
193
207
|
- - "~>"
|
194
208
|
- !ruby/object:Gem::Version
|
195
|
-
version: 0.
|
209
|
+
version: 0.7.0
|
196
210
|
type: :runtime
|
197
211
|
prerelease: false
|
198
212
|
version_requirements: !ruby/object:Gem::Requirement
|
199
213
|
requirements:
|
200
214
|
- - "~>"
|
201
215
|
- !ruby/object:Gem::Version
|
202
|
-
version: 0.
|
216
|
+
version: 0.7.0
|
203
217
|
- !ruby/object:Gem::Dependency
|
204
218
|
name: win32-event
|
205
219
|
requirement: !ruby/object:Gem::Requirement
|
206
220
|
requirements:
|
207
221
|
- - "~>"
|
208
222
|
- !ruby/object:Gem::Version
|
209
|
-
version: 0.6.
|
223
|
+
version: 0.6.3
|
210
224
|
type: :runtime
|
211
225
|
prerelease: false
|
212
226
|
version_requirements: !ruby/object:Gem::Requirement
|
213
227
|
requirements:
|
214
228
|
- - "~>"
|
215
229
|
- !ruby/object:Gem::Version
|
216
|
-
version: 0.6.
|
230
|
+
version: 0.6.3
|
217
231
|
- !ruby/object:Gem::Dependency
|
218
232
|
name: windows-pr
|
219
233
|
requirement: !ruby/object:Gem::Requirement
|
220
234
|
requirements:
|
221
235
|
- - "~>"
|
222
236
|
- !ruby/object:Gem::Version
|
223
|
-
version: 1.2.
|
237
|
+
version: 1.2.6
|
224
238
|
type: :runtime
|
225
239
|
prerelease: false
|
226
240
|
version_requirements: !ruby/object:Gem::Requirement
|
227
241
|
requirements:
|
228
242
|
- - "~>"
|
229
243
|
- !ruby/object:Gem::Version
|
230
|
-
version: 1.2.
|
244
|
+
version: 1.2.6
|
231
245
|
- !ruby/object:Gem::Dependency
|
232
246
|
name: certstore_c
|
233
247
|
requirement: !ruby/object:Gem::Requirement
|
234
248
|
requirements:
|
235
249
|
- - "~>"
|
236
250
|
- !ruby/object:Gem::Version
|
237
|
-
version: 0.1.
|
251
|
+
version: 0.1.7
|
238
252
|
type: :runtime
|
239
253
|
prerelease: false
|
240
254
|
version_requirements: !ruby/object:Gem::Requirement
|
241
255
|
requirements:
|
242
256
|
- - "~>"
|
243
257
|
- !ruby/object:Gem::Version
|
244
|
-
version: 0.1.
|
258
|
+
version: 0.1.7
|
245
259
|
- !ruby/object:Gem::Dependency
|
246
260
|
name: rake
|
247
261
|
requirement: !ruby/object:Gem::Requirement
|
@@ -374,40 +388,20 @@ dependencies:
|
|
374
388
|
- - "<"
|
375
389
|
- !ruby/object:Gem::Version
|
376
390
|
version: '4'
|
377
|
-
- !ruby/object:Gem::Dependency
|
378
|
-
name: ext_monitor
|
379
|
-
requirement: !ruby/object:Gem::Requirement
|
380
|
-
requirements:
|
381
|
-
- - ">="
|
382
|
-
- !ruby/object:Gem::Version
|
383
|
-
version: 0.1.2
|
384
|
-
- - "<"
|
385
|
-
- !ruby/object:Gem::Version
|
386
|
-
version: '0.2'
|
387
|
-
type: :development
|
388
|
-
prerelease: false
|
389
|
-
version_requirements: !ruby/object:Gem::Requirement
|
390
|
-
requirements:
|
391
|
-
- - ">="
|
392
|
-
- !ruby/object:Gem::Version
|
393
|
-
version: 0.1.2
|
394
|
-
- - "<"
|
395
|
-
- !ruby/object:Gem::Version
|
396
|
-
version: '0.2'
|
397
391
|
- !ruby/object:Gem::Dependency
|
398
392
|
name: async-http
|
399
393
|
requirement: !ruby/object:Gem::Requirement
|
400
394
|
requirements:
|
401
395
|
- - ">="
|
402
396
|
- !ruby/object:Gem::Version
|
403
|
-
version:
|
397
|
+
version: 0.50.0
|
404
398
|
type: :development
|
405
399
|
prerelease: false
|
406
400
|
version_requirements: !ruby/object:Gem::Requirement
|
407
401
|
requirements:
|
408
402
|
- - ">="
|
409
403
|
- !ruby/object:Gem::Version
|
410
|
-
version:
|
404
|
+
version: 0.50.0
|
411
405
|
description: Fluentd is an open source data collector designed to scale and simplify
|
412
406
|
log management. It can collect, process and ship many kinds of data in near real-time.
|
413
407
|
email:
|
@@ -415,7 +409,9 @@ email:
|
|
415
409
|
executables:
|
416
410
|
- fluent-binlog-reader
|
417
411
|
- fluent-ca-generate
|
412
|
+
- fluent-cap-ctl
|
418
413
|
- fluent-cat
|
414
|
+
- fluent-ctl
|
419
415
|
- fluent-debug
|
420
416
|
- fluent-gem
|
421
417
|
- fluent-plugin-config-format
|
@@ -427,9 +423,12 @@ files:
|
|
427
423
|
- ".drone.yml"
|
428
424
|
- ".github/ISSUE_TEMPLATE.md"
|
429
425
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
426
|
+
- ".github/ISSUE_TEMPLATE/config.yml"
|
430
427
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
431
428
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
429
|
+
- ".github/workflows/build.yaml"
|
432
430
|
- ".github/workflows/issue-auto-closer.yml"
|
431
|
+
- ".github/workflows/stale-actions.yml"
|
433
432
|
- ".gitignore"
|
434
433
|
- ".gitlab-ci.yml"
|
435
434
|
- ".travis.yml"
|
@@ -447,7 +446,9 @@ files:
|
|
447
446
|
- appveyor.yml
|
448
447
|
- bin/fluent-binlog-reader
|
449
448
|
- bin/fluent-ca-generate
|
449
|
+
- bin/fluent-cap-ctl
|
450
450
|
- bin/fluent-cat
|
451
|
+
- bin/fluent-ctl
|
451
452
|
- bin/fluent-debug
|
452
453
|
- bin/fluent-gem
|
453
454
|
- bin/fluent-plugin-config-format
|
@@ -495,11 +496,14 @@ files:
|
|
495
496
|
- fluent.conf
|
496
497
|
- fluentd.gemspec
|
497
498
|
- lib/fluent/agent.rb
|
499
|
+
- lib/fluent/capability.rb
|
498
500
|
- lib/fluent/clock.rb
|
499
501
|
- lib/fluent/command/binlog_reader.rb
|
500
502
|
- lib/fluent/command/bundler_injection.rb
|
501
503
|
- lib/fluent/command/ca_generate.rb
|
504
|
+
- lib/fluent/command/cap_ctl.rb
|
502
505
|
- lib/fluent/command/cat.rb
|
506
|
+
- lib/fluent/command/ctl.rb
|
503
507
|
- lib/fluent/command/debug.rb
|
504
508
|
- lib/fluent/command/fluentd.rb
|
505
509
|
- lib/fluent/command/plugin_config_formatter.rb
|
@@ -741,10 +745,13 @@ files:
|
|
741
745
|
- templates/new_gem/test/plugin/test_output.rb.erb
|
742
746
|
- templates/new_gem/test/plugin/test_parser.rb.erb
|
743
747
|
- templates/plugin_config_formatter/param.md-compact.erb
|
748
|
+
- templates/plugin_config_formatter/param.md-table.erb
|
744
749
|
- templates/plugin_config_formatter/param.md.erb
|
745
750
|
- templates/plugin_config_formatter/section.md.erb
|
746
751
|
- test/command/test_binlog_reader.rb
|
747
752
|
- test/command/test_ca_generate.rb
|
753
|
+
- test/command/test_cap_ctl.rb
|
754
|
+
- test/command/test_ctl.rb
|
748
755
|
- test/command/test_fluentd.rb
|
749
756
|
- test/command/test_plugin_config_formatter.rb
|
750
757
|
- test/command/test_plugin_generator.rb
|
@@ -921,6 +928,7 @@ files:
|
|
921
928
|
- test/scripts/fluent/plugin/out_test.rb
|
922
929
|
- test/scripts/fluent/plugin/out_test2.rb
|
923
930
|
- test/scripts/fluent/plugin/parser_known.rb
|
931
|
+
- test/test_capability.rb
|
924
932
|
- test/test_clock.rb
|
925
933
|
- test/test_config.rb
|
926
934
|
- test/test_configdsl.rb
|
@@ -972,13 +980,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
972
980
|
- !ruby/object:Gem::Version
|
973
981
|
version: '0'
|
974
982
|
requirements: []
|
975
|
-
|
983
|
+
rubyforge_project:
|
984
|
+
rubygems_version: 2.7.6.2
|
976
985
|
signing_key:
|
977
986
|
specification_version: 4
|
978
987
|
summary: Fluentd event collector
|
979
988
|
test_files:
|
980
989
|
- test/command/test_binlog_reader.rb
|
981
990
|
- test/command/test_ca_generate.rb
|
991
|
+
- test/command/test_cap_ctl.rb
|
992
|
+
- test/command/test_ctl.rb
|
982
993
|
- test/command/test_fluentd.rb
|
983
994
|
- test/command/test_plugin_config_formatter.rb
|
984
995
|
- test/command/test_plugin_generator.rb
|
@@ -1155,6 +1166,7 @@ test_files:
|
|
1155
1166
|
- test/scripts/fluent/plugin/out_test.rb
|
1156
1167
|
- test/scripts/fluent/plugin/out_test2.rb
|
1157
1168
|
- test/scripts/fluent/plugin/parser_known.rb
|
1169
|
+
- test/test_capability.rb
|
1158
1170
|
- test/test_clock.rb
|
1159
1171
|
- test/test_config.rb
|
1160
1172
|
- test/test_configdsl.rb
|