fluentd 0.12.0.pre.1 → 0.12.0.pre.2
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/.gitignore +1 -1
- data/.travis.yml +1 -0
- data/ChangeLog +21 -0
- data/README.md +10 -2
- data/Rakefile +4 -13
- data/example/v1_literal_example.conf +36 -0
- data/fluentd.gemspec +4 -1
- data/lib/fluent/buffer.rb +73 -46
- data/lib/fluent/command/fluentd.rb +7 -2
- data/lib/fluent/config/basic_parser.rb +5 -0
- data/lib/fluent/config/element.rb +2 -5
- data/lib/fluent/config/literal_parser.rb +26 -7
- data/lib/fluent/config/section.rb +2 -0
- data/lib/fluent/config/v1_parser.rb +9 -2
- data/lib/fluent/formatter.rb +2 -1
- data/lib/fluent/mixin.rb +22 -7
- data/lib/fluent/output.rb +17 -8
- data/lib/fluent/parser.rb +14 -3
- data/lib/fluent/plugin/buf_file.rb +30 -15
- data/lib/fluent/plugin/filter_grep.rb +69 -0
- data/lib/fluent/plugin/filter_record_transformer.rb +183 -0
- data/lib/fluent/plugin/in_exec.rb +6 -0
- data/lib/fluent/plugin/in_forward.rb +34 -4
- data/lib/fluent/plugin/in_http.rb +1 -1
- data/lib/fluent/plugin/out_exec.rb +1 -1
- data/lib/fluent/plugin/out_exec_filter.rb +8 -1
- data/lib/fluent/plugin/out_forward.rb +82 -4
- data/lib/fluent/supervisor.rb +1 -1
- data/lib/fluent/timezone.rb +131 -0
- data/lib/fluent/version.rb +1 -1
- data/test/config/assertions.rb +42 -0
- data/test/config/test_config_parser.rb +385 -0
- data/test/config/test_configurable.rb +530 -0
- data/test/config/test_configure_proxy.rb +99 -0
- data/test/config/test_dsl.rb +237 -0
- data/test/config/test_literal_parser.rb +293 -0
- data/test/config/test_section.rb +112 -0
- data/test/config/test_system_config.rb +49 -0
- data/test/helper.rb +25 -0
- data/test/plugin/test_buf_file.rb +604 -0
- data/test/plugin/test_buf_memory.rb +204 -0
- data/test/plugin/test_filter_grep.rb +124 -0
- data/test/plugin/test_filter_record_transformer.rb +251 -0
- data/test/plugin/test_in_exec.rb +1 -0
- data/test/plugin/test_in_forward.rb +205 -2
- data/test/plugin/test_in_gc_stat.rb +1 -0
- data/test/plugin/test_in_http.rb +58 -2
- data/test/plugin/test_in_object_space.rb +1 -0
- data/test/plugin/test_in_status.rb +1 -0
- data/test/plugin/test_in_stream.rb +1 -1
- data/test/plugin/test_in_syslog.rb +1 -1
- data/test/plugin/test_in_tail.rb +1 -0
- data/test/plugin/test_in_tcp.rb +1 -1
- data/test/plugin/test_in_udp.rb +1 -1
- data/test/plugin/test_out_copy.rb +1 -0
- data/test/plugin/test_out_exec.rb +1 -0
- data/test/plugin/test_out_exec_filter.rb +1 -0
- data/test/plugin/test_out_file.rb +36 -0
- data/test/plugin/test_out_forward.rb +279 -8
- data/test/plugin/test_out_roundrobin.rb +1 -0
- data/test/plugin/test_out_stdout.rb +1 -0
- data/test/plugin/test_out_stream.rb +1 -1
- data/test/test_buffer.rb +530 -0
- data/test/test_config.rb +1 -1
- data/test/test_configdsl.rb +1 -1
- data/test/test_formatter.rb +223 -0
- data/test/test_match.rb +1 -2
- data/test/test_mixin.rb +74 -2
- data/test/test_parser.rb +7 -1
- metadata +88 -35
- data/lib/fluent/plugin/buf_zfile.rb +0 -75
- data/spec/config/config_parser_spec.rb +0 -314
- data/spec/config/configurable_spec.rb +0 -524
- data/spec/config/configure_proxy_spec.rb +0 -96
- data/spec/config/dsl_spec.rb +0 -239
- data/spec/config/helper.rb +0 -49
- data/spec/config/literal_parser_spec.rb +0 -222
- data/spec/config/section_spec.rb +0 -97
- data/spec/config/system_config_spec.rb +0 -49
- data/spec/spec_helper.rb +0 -60
data/test/test_config.rb
CHANGED
data/test/test_configdsl.rb
CHANGED
data/test/test_formatter.rb
CHANGED
@@ -29,6 +29,13 @@ module FormatterTest
|
|
29
29
|
{'message' => 'awesome'}
|
30
30
|
end
|
31
31
|
|
32
|
+
def with_timezone(tz)
|
33
|
+
oldtz, ENV['TZ'] = ENV['TZ'], tz
|
34
|
+
yield
|
35
|
+
ensure
|
36
|
+
ENV['TZ'] = oldtz
|
37
|
+
end
|
38
|
+
|
32
39
|
class OutFileFormatterTest < ::Test::Unit::TestCase
|
33
40
|
include FormatterTest
|
34
41
|
|
@@ -216,4 +223,220 @@ module FormatterTest
|
|
216
223
|
end
|
217
224
|
end
|
218
225
|
end
|
226
|
+
|
227
|
+
class TimeFormatterTest < ::Test::Unit::TestCase
|
228
|
+
include FormatterTest
|
229
|
+
|
230
|
+
def setup
|
231
|
+
@time = Time.new(2014, 9, 27, 0, 0, 0, 0).to_i
|
232
|
+
@fmt = "%Y%m%d %H%M%z" # YYYYMMDD HHMM[+-]HHMM
|
233
|
+
end
|
234
|
+
|
235
|
+
def format(format, localtime, timezone)
|
236
|
+
formatter = Fluent::TimeFormatter.new(format, localtime, timezone)
|
237
|
+
formatter.format(@time)
|
238
|
+
end
|
239
|
+
|
240
|
+
def test_default_utc_nil
|
241
|
+
assert_equal("2014-09-27T00:00:00Z", format(nil, false, nil))
|
242
|
+
end
|
243
|
+
|
244
|
+
def test_default_utc_pHH_MM
|
245
|
+
assert_equal("2014-09-27T01:30:00+01:30", format(nil, false, "+01:30"))
|
246
|
+
end
|
247
|
+
|
248
|
+
def test_default_utc_nHH_MM
|
249
|
+
assert_equal("2014-09-26T22:30:00-01:30", format(nil, false, "-01:30"))
|
250
|
+
end
|
251
|
+
|
252
|
+
def test_default_utc_pHHMM
|
253
|
+
assert_equal("2014-09-27T02:30:00+02:30", format(nil, false, "+0230"))
|
254
|
+
end
|
255
|
+
|
256
|
+
def test_default_utc_nHHMM
|
257
|
+
assert_equal("2014-09-26T21:30:00-02:30", format(nil, false, "-0230"))
|
258
|
+
end
|
259
|
+
|
260
|
+
def test_default_utc_pHH
|
261
|
+
assert_equal("2014-09-27T03:00:00+03:00", format(nil, false, "+03"))
|
262
|
+
end
|
263
|
+
|
264
|
+
def test_default_utc_nHH
|
265
|
+
assert_equal("2014-09-26T21:00:00-03:00", format(nil, false, "-03"))
|
266
|
+
end
|
267
|
+
|
268
|
+
def test_default_utc_timezone_1
|
269
|
+
# Asia/Tokyo (+09:00) does not have daylight saving time.
|
270
|
+
assert_equal("2014-09-27T09:00:00+09:00", format(nil, false, "Asia/Tokyo"))
|
271
|
+
end
|
272
|
+
|
273
|
+
def test_default_utc_timezone_2
|
274
|
+
# Pacific/Honolulu (-10:00) does not have daylight saving time.
|
275
|
+
assert_equal("2014-09-26T14:00:00-10:00", format(nil, false, "Pacific/Honolulu"))
|
276
|
+
end
|
277
|
+
|
278
|
+
def test_default_utc_timezone_3
|
279
|
+
# America/Argentina/Buenos_Aires (-03:00) does not have daylight saving time.
|
280
|
+
assert_equal("2014-09-26T21:00:00-03:00", format(nil, false, "America/Argentina/Buenos_Aires"))
|
281
|
+
end
|
282
|
+
|
283
|
+
def test_default_utc_timezone_4
|
284
|
+
# Europe/Paris has daylight saving time. Its UTC offset is +01:00 and its
|
285
|
+
# UTC offset in DST is +02:00. In September, Europe/Paris is in DST.
|
286
|
+
assert_equal("2014-09-27T02:00:00+02:00", format(nil, false, "Europe/Paris"))
|
287
|
+
end
|
288
|
+
|
289
|
+
def test_default_utc_timezone_5
|
290
|
+
# Europe/Paris has daylight saving time. Its UTC offset is +01:00 and its
|
291
|
+
# UTC offset in DST is +02:00. In January, Europe/Paris is not in DST.
|
292
|
+
@time = Time.new(2014, 1, 24, 0, 0, 0, 0).to_i
|
293
|
+
assert_equal("2014-01-24T01:00:00+01:00", format(nil, false, "Europe/Paris"))
|
294
|
+
end
|
295
|
+
|
296
|
+
def test_default_utc_invalid
|
297
|
+
assert_equal("2014-09-27T00:00:00Z", format(nil, false, "Invalid"))
|
298
|
+
end
|
299
|
+
|
300
|
+
def test_default_localtime_nil_1
|
301
|
+
with_timezone("UTC-04") do
|
302
|
+
assert_equal("2014-09-27T04:00:00+04:00", format(nil, true, nil))
|
303
|
+
end
|
304
|
+
end
|
305
|
+
|
306
|
+
def test_default_localtime_nil_2
|
307
|
+
with_timezone("UTC+05") do
|
308
|
+
assert_equal("2014-09-26T19:00:00-05:00", format(nil, true, nil))
|
309
|
+
end
|
310
|
+
end
|
311
|
+
|
312
|
+
def test_default_localtime_timezone
|
313
|
+
# 'timezone' takes precedence over 'localtime'.
|
314
|
+
with_timezone("UTC-06") do
|
315
|
+
assert_equal("2014-09-27T07:00:00+07:00", format(nil, true, "+07"))
|
316
|
+
end
|
317
|
+
end
|
318
|
+
|
319
|
+
def test_specific_utc_nil
|
320
|
+
assert_equal("20140927 0000+0000", format(@fmt, false, nil))
|
321
|
+
end
|
322
|
+
|
323
|
+
def test_specific_utc_pHH_MM
|
324
|
+
assert_equal("20140927 0830+0830", format(@fmt, false, "+08:30"))
|
325
|
+
end
|
326
|
+
|
327
|
+
def test_specific_utc_nHH_MM
|
328
|
+
assert_equal("20140926 1430-0930", format(@fmt, false, "-09:30"))
|
329
|
+
end
|
330
|
+
|
331
|
+
def test_specific_utc_pHHMM
|
332
|
+
assert_equal("20140927 1030+1030", format(@fmt, false, "+1030"))
|
333
|
+
end
|
334
|
+
|
335
|
+
def test_specific_utc_nHHMM
|
336
|
+
assert_equal("20140926 1230-1130", format(@fmt, false, "-1130"))
|
337
|
+
end
|
338
|
+
|
339
|
+
def test_specific_utc_pHH
|
340
|
+
assert_equal("20140927 1200+1200", format(@fmt, false, "+12"))
|
341
|
+
end
|
342
|
+
|
343
|
+
def test_specific_utc_nHH
|
344
|
+
assert_equal("20140926 1100-1300", format(@fmt, false, "-13"))
|
345
|
+
end
|
346
|
+
|
347
|
+
def test_specific_utc_timezone_1
|
348
|
+
# Europe/Moscow (+04:00) does not have daylight saving time.
|
349
|
+
assert_equal("20140927 0400+0400", format(@fmt, false, "Europe/Moscow"))
|
350
|
+
end
|
351
|
+
|
352
|
+
def test_specific_utc_timezone_2
|
353
|
+
# Pacific/Galapagos (-06:00) does not have daylight saving time.
|
354
|
+
assert_equal("20140926 1800-0600", format(@fmt, false, "Pacific/Galapagos"))
|
355
|
+
end
|
356
|
+
|
357
|
+
def test_specific_utc_timezone_3
|
358
|
+
# America/Argentina/Buenos_Aires (-03:00) does not have daylight saving time.
|
359
|
+
assert_equal("20140926 2100-0300", format(@fmt, false, "America/Argentina/Buenos_Aires"))
|
360
|
+
end
|
361
|
+
|
362
|
+
def test_specific_utc_timezone_4
|
363
|
+
# America/Los_Angeles has daylight saving time. Its UTC offset is -08:00 and its
|
364
|
+
# UTC offset in DST is -07:00. In September, America/Los_Angeles is in DST.
|
365
|
+
assert_equal("20140926 1700-0700", format(@fmt, false, "America/Los_Angeles"))
|
366
|
+
end
|
367
|
+
|
368
|
+
def test_specific_utc_timezone_5
|
369
|
+
# America/Los_Angeles has daylight saving time. Its UTC offset is -08:00 and its
|
370
|
+
# UTC offset in DST is -07:00. In January, America/Los_Angeles is not in DST.
|
371
|
+
@time = Time.new(2014, 1, 24, 0, 0, 0, 0).to_i
|
372
|
+
assert_equal("20140123 1600-0800", format(@fmt, false, "America/Los_Angeles"))
|
373
|
+
end
|
374
|
+
|
375
|
+
def test_specific_utc_invalid
|
376
|
+
assert_equal("20140927 0000+0000", format(@fmt, false, "Invalid"))
|
377
|
+
end
|
378
|
+
|
379
|
+
def test_specific_localtime_nil_1
|
380
|
+
with_timezone("UTC-07") do
|
381
|
+
assert_equal("20140927 0700+0700", format(@fmt, true, nil))
|
382
|
+
end
|
383
|
+
end
|
384
|
+
|
385
|
+
def test_specific_localtime_nil_2
|
386
|
+
with_timezone("UTC+08") do
|
387
|
+
assert_equal("20140926 1600-0800", format(@fmt, true, nil))
|
388
|
+
end
|
389
|
+
end
|
390
|
+
|
391
|
+
def test_specific_localtime_timezone
|
392
|
+
# 'timezone' takes precedence over 'localtime'.
|
393
|
+
with_timezone("UTC-09") do
|
394
|
+
assert_equal("20140926 1400-1000", format(@fmt, true, "-10"))
|
395
|
+
end
|
396
|
+
end
|
397
|
+
end
|
398
|
+
|
399
|
+
class TimeConfigTest < ::Test::Unit::TestCase
|
400
|
+
include FormatterTest
|
401
|
+
|
402
|
+
def setup
|
403
|
+
@formatter = TextFormatter::LabeledTSVFormatter.new
|
404
|
+
@time = Time.new(2014, 9, 27, 0, 0, 0, 0).to_i
|
405
|
+
end
|
406
|
+
|
407
|
+
def format(conf)
|
408
|
+
@formatter.configure({'include_time_key' => true}.merge(conf))
|
409
|
+
formatted = @formatter.format("tag", @time, {})
|
410
|
+
# Drop the leading "time:" and the trailing "\n".
|
411
|
+
formatted[5..-2]
|
412
|
+
end
|
413
|
+
|
414
|
+
def test_none
|
415
|
+
with_timezone("UTC-01") do
|
416
|
+
# 'localtime' is true by default.
|
417
|
+
assert_equal("2014-09-27T01:00:00+01:00", format({}))
|
418
|
+
end
|
419
|
+
end
|
420
|
+
|
421
|
+
def test_utc
|
422
|
+
with_timezone("UTC-01") do
|
423
|
+
# 'utc' takes precedence over 'localtime'.
|
424
|
+
assert_equal("2014-09-27T00:00:00Z", format("utc" => true))
|
425
|
+
end
|
426
|
+
end
|
427
|
+
|
428
|
+
def test_timezone
|
429
|
+
with_timezone("UTC-01") do
|
430
|
+
# 'timezone' takes precedence over 'localtime'.
|
431
|
+
assert_equal("2014-09-27T02:00:00+02:00", format("timezone" => "+02"))
|
432
|
+
end
|
433
|
+
end
|
434
|
+
|
435
|
+
def test_utc_timezone
|
436
|
+
with_timezone("UTC-01") do
|
437
|
+
# 'timezone' takes precedence over 'utc'.
|
438
|
+
assert_equal("2014-09-27T09:00:00+09:00", format("utc" => true, "timezone" => "Asia/Tokyo"))
|
439
|
+
end
|
440
|
+
end
|
441
|
+
end
|
219
442
|
end
|
data/test/test_match.rb
CHANGED
data/test/test_mixin.rb
CHANGED
@@ -27,15 +27,17 @@ module MixinTest
|
|
27
27
|
end
|
28
28
|
|
29
29
|
@@num = 0
|
30
|
+
|
30
31
|
def create_register_output_name
|
31
|
-
|
32
|
+
@@num += 1
|
33
|
+
"mixin_text_#{@@num}"
|
32
34
|
end
|
33
35
|
|
34
36
|
def format_check(hash, tagname = 'test')
|
35
37
|
mock(Checker).format_check(tagname, @time.to_i, hash)
|
36
38
|
end
|
37
39
|
|
38
|
-
def create_driver(include_klass, conf = '', tag = "test")
|
40
|
+
def create_driver(include_klass, conf = '', tag = "test", &block)
|
39
41
|
register_output_name = create_register_output_name
|
40
42
|
include_klasses = [include_klass].flatten
|
41
43
|
|
@@ -51,6 +53,11 @@ module MixinTest
|
|
51
53
|
def write(chunk); end
|
52
54
|
}
|
53
55
|
|
56
|
+
if block
|
57
|
+
Utils.const_set("MixinTestClass#{@@num}", klass)
|
58
|
+
klass.module_eval(&block)
|
59
|
+
end
|
60
|
+
|
54
61
|
Fluent::Test::BufferedOutputTestDriver.new(klass, tag) {
|
55
62
|
}.configure("type #{register_output_name}" + conf)
|
56
63
|
end
|
@@ -110,6 +117,19 @@ module MixinTest
|
|
110
117
|
d.emit({'a' => 1})
|
111
118
|
d.run
|
112
119
|
end
|
120
|
+
|
121
|
+
sub_test_case "mixin" do
|
122
|
+
data(
|
123
|
+
'true' => true,
|
124
|
+
'false' => false)
|
125
|
+
test 'include_tag_key' do |param|
|
126
|
+
d = create_driver(Fluent::SetTagKeyMixin) {
|
127
|
+
config_set_default :include_tag_key, param
|
128
|
+
}
|
129
|
+
|
130
|
+
assert_equal(param, d.instance.include_tag_key)
|
131
|
+
end
|
132
|
+
end
|
113
133
|
end
|
114
134
|
|
115
135
|
class SetTimeKeyMixinText < Test::Unit::TestCase
|
@@ -155,6 +175,58 @@ module MixinTest
|
|
155
175
|
d.emit({'a' => 1})
|
156
176
|
d.run
|
157
177
|
end
|
178
|
+
|
179
|
+
def test_timezone_1
|
180
|
+
format_check({
|
181
|
+
'time' => "2010-05-03T17:02:01-10:00",
|
182
|
+
'a' => 1
|
183
|
+
})
|
184
|
+
|
185
|
+
d = create_driver(Fluent::SetTimeKeyMixin, %[
|
186
|
+
include_time_key true
|
187
|
+
timezone Pacific/Honolulu
|
188
|
+
])
|
189
|
+
|
190
|
+
d.emit({'a' => 1})
|
191
|
+
d.run
|
192
|
+
end
|
193
|
+
|
194
|
+
def test_timezone_2
|
195
|
+
format_check({
|
196
|
+
'time' => "2010-05-04T08:32:01+05:30",
|
197
|
+
'a' => 1
|
198
|
+
})
|
199
|
+
|
200
|
+
d = create_driver(Fluent::SetTimeKeyMixin, %[
|
201
|
+
include_time_key true
|
202
|
+
timezone +05:30
|
203
|
+
])
|
204
|
+
|
205
|
+
d.emit({'a' => 1})
|
206
|
+
d.run
|
207
|
+
end
|
208
|
+
|
209
|
+
def test_timezone_invalid
|
210
|
+
assert_raise(Fluent::ConfigError) do
|
211
|
+
d = create_driver(Fluent::SetTimeKeyMixin, %[
|
212
|
+
include_time_key true
|
213
|
+
timezone Invalid/Invalid
|
214
|
+
])
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
sub_test_case "mixin" do
|
219
|
+
data(
|
220
|
+
'true' => true,
|
221
|
+
'false' => false)
|
222
|
+
test 'include_time_key' do |param|
|
223
|
+
d = create_driver(Fluent::SetTimeKeyMixin) {
|
224
|
+
config_set_default :include_time_key, param
|
225
|
+
}
|
226
|
+
|
227
|
+
assert_equal(param, d.instance.include_time_key)
|
228
|
+
end
|
229
|
+
end
|
158
230
|
end
|
159
231
|
|
160
232
|
class HandleTagMixinTest < Test::Unit::TestCase
|
data/test/test_parser.rb
CHANGED
@@ -34,7 +34,7 @@ module ParserTest
|
|
34
34
|
parser = TextParser::TimeParser.new(nil)
|
35
35
|
|
36
36
|
[[], {}, nil, true, 10000].each { |v|
|
37
|
-
assert_raise
|
37
|
+
assert_raise Fluent::TextParser::ParserError do
|
38
38
|
parser.parse(v)
|
39
39
|
end
|
40
40
|
}
|
@@ -288,6 +288,12 @@ module ParserTest
|
|
288
288
|
assert_nil time, "parser return nil w/o time and if specified so"
|
289
289
|
}
|
290
290
|
end
|
291
|
+
|
292
|
+
def test_call_with_invalid_time
|
293
|
+
assert_raise Fluent::TextParser::ParserError do
|
294
|
+
@parser.call('{"time":[],"k":"v"}') { |time, record| }
|
295
|
+
end
|
296
|
+
end
|
291
297
|
end
|
292
298
|
|
293
299
|
class NginxParserTest < ::Test::Unit::TestCase
|
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: 0.12.0.pre.
|
4
|
+
version: 0.12.0.pre.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sadayuki Furuhashi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
@@ -112,6 +112,48 @@ dependencies:
|
|
112
112
|
- - "~>"
|
113
113
|
- !ruby/object:Gem::Version
|
114
114
|
version: 0.2.2
|
115
|
+
- !ruby/object:Gem::Dependency
|
116
|
+
name: tzinfo
|
117
|
+
requirement: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - ">="
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: 1.0.0
|
122
|
+
type: :runtime
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: 1.0.0
|
129
|
+
- !ruby/object:Gem::Dependency
|
130
|
+
name: tzinfo-data
|
131
|
+
requirement: !ruby/object:Gem::Requirement
|
132
|
+
requirements:
|
133
|
+
- - ">="
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: 1.0.0
|
136
|
+
type: :runtime
|
137
|
+
prerelease: false
|
138
|
+
version_requirements: !ruby/object:Gem::Requirement
|
139
|
+
requirements:
|
140
|
+
- - ">="
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: 1.0.0
|
143
|
+
- !ruby/object:Gem::Dependency
|
144
|
+
name: string-scrub
|
145
|
+
requirement: !ruby/object:Gem::Requirement
|
146
|
+
requirements:
|
147
|
+
- - ">="
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 0.0.3
|
150
|
+
type: :runtime
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
requirements:
|
154
|
+
- - ">="
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: 0.0.3
|
115
157
|
- !ruby/object:Gem::Dependency
|
116
158
|
name: rake
|
117
159
|
requirement: !ruby/object:Gem::Requirement
|
@@ -154,20 +196,6 @@ dependencies:
|
|
154
196
|
- - ">="
|
155
197
|
- !ruby/object:Gem::Version
|
156
198
|
version: 0.15.3
|
157
|
-
- !ruby/object:Gem::Dependency
|
158
|
-
name: rspec
|
159
|
-
requirement: !ruby/object:Gem::Requirement
|
160
|
-
requirements:
|
161
|
-
- - "~>"
|
162
|
-
- !ruby/object:Gem::Version
|
163
|
-
version: 3.0.0
|
164
|
-
type: :development
|
165
|
-
prerelease: false
|
166
|
-
version_requirements: !ruby/object:Gem::Requirement
|
167
|
-
requirements:
|
168
|
-
- - "~>"
|
169
|
-
- !ruby/object:Gem::Version
|
170
|
-
version: 3.0.0
|
171
199
|
- !ruby/object:Gem::Dependency
|
172
200
|
name: simplecov
|
173
201
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,6 +238,20 @@ dependencies:
|
|
210
238
|
- - ">="
|
211
239
|
- !ruby/object:Gem::Version
|
212
240
|
version: 0.3.0
|
241
|
+
- !ruby/object:Gem::Dependency
|
242
|
+
name: test-unit
|
243
|
+
requirement: !ruby/object:Gem::Requirement
|
244
|
+
requirements:
|
245
|
+
- - "~>"
|
246
|
+
- !ruby/object:Gem::Version
|
247
|
+
version: 3.0.2
|
248
|
+
type: :development
|
249
|
+
prerelease: false
|
250
|
+
version_requirements: !ruby/object:Gem::Requirement
|
251
|
+
requirements:
|
252
|
+
- - "~>"
|
253
|
+
- !ruby/object:Gem::Version
|
254
|
+
version: 3.0.2
|
213
255
|
description: Fluentd is an open source data collector designed to scale and simplify
|
214
256
|
log management. It can collect, process and ship many kinds of data in near real-time.
|
215
257
|
email:
|
@@ -244,6 +286,7 @@ files:
|
|
244
286
|
- example/out_copy.conf
|
245
287
|
- example/out_file.conf
|
246
288
|
- example/out_forward.conf
|
289
|
+
- example/v1_literal_example.conf
|
247
290
|
- fluent.conf
|
248
291
|
- fluentd.gemspec
|
249
292
|
- lib/fluent/agent.rb
|
@@ -281,8 +324,9 @@ files:
|
|
281
324
|
- lib/fluent/plugin.rb
|
282
325
|
- lib/fluent/plugin/buf_file.rb
|
283
326
|
- lib/fluent/plugin/buf_memory.rb
|
284
|
-
- lib/fluent/plugin/buf_zfile.rb
|
285
327
|
- lib/fluent/plugin/exec_util.rb
|
328
|
+
- lib/fluent/plugin/filter_grep.rb
|
329
|
+
- lib/fluent/plugin/filter_record_transformer.rb
|
286
330
|
- lib/fluent/plugin/in_debug_agent.rb
|
287
331
|
- lib/fluent/plugin/in_exec.rb
|
288
332
|
- lib/fluent/plugin/in_forward.rb
|
@@ -317,16 +361,16 @@ files:
|
|
317
361
|
- lib/fluent/test/base.rb
|
318
362
|
- lib/fluent/test/input_test.rb
|
319
363
|
- lib/fluent/test/output_test.rb
|
364
|
+
- lib/fluent/timezone.rb
|
320
365
|
- lib/fluent/version.rb
|
321
|
-
-
|
322
|
-
-
|
323
|
-
-
|
324
|
-
-
|
325
|
-
-
|
326
|
-
-
|
327
|
-
-
|
328
|
-
-
|
329
|
-
- spec/spec_helper.rb
|
366
|
+
- test/config/assertions.rb
|
367
|
+
- test/config/test_config_parser.rb
|
368
|
+
- test/config/test_configurable.rb
|
369
|
+
- test/config/test_configure_proxy.rb
|
370
|
+
- test/config/test_dsl.rb
|
371
|
+
- test/config/test_literal_parser.rb
|
372
|
+
- test/config/test_section.rb
|
373
|
+
- test/config/test_system_config.rb
|
330
374
|
- test/helper.rb
|
331
375
|
- test/plugin/data/2010/01/20100102-030405.log
|
332
376
|
- test/plugin/data/2010/01/20100102-030406.log
|
@@ -334,6 +378,10 @@ files:
|
|
334
378
|
- test/plugin/data/log/bar
|
335
379
|
- test/plugin/data/log/foo/bar.log
|
336
380
|
- test/plugin/data/log/test.log
|
381
|
+
- test/plugin/test_buf_file.rb
|
382
|
+
- test/plugin/test_buf_memory.rb
|
383
|
+
- test/plugin/test_filter_grep.rb
|
384
|
+
- test/plugin/test_filter_record_transformer.rb
|
337
385
|
- test/plugin/test_in_exec.rb
|
338
386
|
- test/plugin/test_in_forward.rb
|
339
387
|
- test/plugin/test_in_gc_stat.rb
|
@@ -356,6 +404,7 @@ files:
|
|
356
404
|
- test/scripts/exec_script.rb
|
357
405
|
- test/scripts/fluent/plugin/formatter_known.rb
|
358
406
|
- test/scripts/fluent/plugin/parser_known.rb
|
407
|
+
- test/test_buffer.rb
|
359
408
|
- test/test_config.rb
|
360
409
|
- test/test_configdsl.rb
|
361
410
|
- test/test_formatter.rb
|
@@ -387,15 +436,14 @@ signing_key:
|
|
387
436
|
specification_version: 4
|
388
437
|
summary: Fluentd event collector
|
389
438
|
test_files:
|
390
|
-
-
|
391
|
-
-
|
392
|
-
-
|
393
|
-
-
|
394
|
-
-
|
395
|
-
-
|
396
|
-
-
|
397
|
-
-
|
398
|
-
- spec/spec_helper.rb
|
439
|
+
- test/config/assertions.rb
|
440
|
+
- test/config/test_config_parser.rb
|
441
|
+
- test/config/test_configurable.rb
|
442
|
+
- test/config/test_configure_proxy.rb
|
443
|
+
- test/config/test_dsl.rb
|
444
|
+
- test/config/test_literal_parser.rb
|
445
|
+
- test/config/test_section.rb
|
446
|
+
- test/config/test_system_config.rb
|
399
447
|
- test/helper.rb
|
400
448
|
- test/plugin/data/2010/01/20100102-030405.log
|
401
449
|
- test/plugin/data/2010/01/20100102-030406.log
|
@@ -403,6 +451,10 @@ test_files:
|
|
403
451
|
- test/plugin/data/log/bar
|
404
452
|
- test/plugin/data/log/foo/bar.log
|
405
453
|
- test/plugin/data/log/test.log
|
454
|
+
- test/plugin/test_buf_file.rb
|
455
|
+
- test/plugin/test_buf_memory.rb
|
456
|
+
- test/plugin/test_filter_grep.rb
|
457
|
+
- test/plugin/test_filter_record_transformer.rb
|
406
458
|
- test/plugin/test_in_exec.rb
|
407
459
|
- test/plugin/test_in_forward.rb
|
408
460
|
- test/plugin/test_in_gc_stat.rb
|
@@ -425,6 +477,7 @@ test_files:
|
|
425
477
|
- test/scripts/exec_script.rb
|
426
478
|
- test/scripts/fluent/plugin/formatter_known.rb
|
427
479
|
- test/scripts/fluent/plugin/parser_known.rb
|
480
|
+
- test/test_buffer.rb
|
428
481
|
- test/test_config.rb
|
429
482
|
- test/test_configdsl.rb
|
430
483
|
- test/test_formatter.rb
|