fluentd 0.14.2 → 0.14.5
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/ChangeLog +77 -1131
- data/Rakefile +15 -0
- data/appveyor.yml +2 -2
- data/example/in_forward.conf +3 -0
- data/example/in_forward_client.conf +37 -0
- data/example/in_forward_shared_key.conf +15 -0
- data/example/in_forward_users.conf +24 -0
- data/example/multi_filters.conf +61 -0
- data/example/out_forward.conf +13 -13
- data/example/out_forward_client.conf +109 -0
- data/example/out_forward_shared_key.conf +36 -0
- data/example/out_forward_users.conf +65 -0
- data/example/{out_buffered_null.conf → out_null.conf} +10 -6
- data/example/secondary_file.conf +41 -0
- data/fluentd.gemspec +19 -16
- data/lib/fluent/agent.rb +5 -0
- data/lib/fluent/command/debug.rb +4 -4
- data/lib/fluent/compat/handle_tag_and_time_mixin.rb +2 -0
- data/lib/fluent/compat/output.rb +5 -2
- data/lib/fluent/config/configure_proxy.rb +26 -5
- data/lib/fluent/config/error.rb +3 -0
- data/lib/fluent/config/section.rb +15 -0
- data/lib/fluent/event_router.rb +77 -4
- data/lib/fluent/plugin/base.rb +12 -3
- data/lib/fluent/plugin/buffer.rb +5 -1
- data/lib/fluent/plugin/filter.rb +48 -6
- data/lib/fluent/plugin/filter_record_transformer.rb +3 -1
- data/lib/fluent/plugin/filter_stdout.rb +0 -4
- data/lib/fluent/plugin/in_debug_agent.rb +5 -5
- data/lib/fluent/plugin/in_dummy.rb +9 -1
- data/lib/fluent/plugin/in_forward.rb +330 -62
- data/lib/fluent/plugin/in_monitor_agent.rb +31 -77
- data/lib/fluent/plugin/in_tail.rb +76 -92
- data/lib/fluent/plugin/multi_output.rb +4 -0
- data/lib/fluent/plugin/out_forward.rb +328 -222
- data/lib/fluent/plugin/out_null.rb +37 -0
- data/lib/fluent/plugin/out_secondary_file.rb +128 -0
- data/lib/fluent/plugin/out_stdout.rb +38 -2
- data/lib/fluent/plugin/output.rb +29 -6
- data/lib/fluent/plugin/storage_local.rb +16 -0
- data/lib/fluent/plugin_helper/timer.rb +6 -1
- data/lib/fluent/root_agent.rb +4 -1
- data/lib/fluent/supervisor.rb +62 -9
- data/lib/fluent/test/base.rb +3 -0
- data/lib/fluent/test/driver/base.rb +5 -0
- data/lib/fluent/test/formatter_test.rb +2 -0
- data/lib/fluent/test/parser_test.rb +2 -0
- data/lib/fluent/test/startup_shutdown.rb +33 -0
- data/lib/fluent/version.rb +1 -1
- data/lib/fluent/winsvc.rb +1 -2
- data/test/compat/test_calls_super.rb +2 -0
- data/test/config/test_configurable.rb +88 -0
- data/test/config/test_types.rb +7 -3
- data/test/plugin/test_filter.rb +121 -23
- data/test/plugin/test_filter_record_transformer.rb +22 -6
- data/test/plugin/test_in_debug_agent.rb +2 -2
- data/test/plugin/test_in_forward.rb +920 -407
- data/test/plugin/test_in_monitor_agent.rb +333 -0
- data/test/plugin/test_in_tail.rb +686 -595
- data/test/plugin/test_out_forward.rb +150 -207
- data/test/plugin/test_out_null.rb +85 -9
- data/test/plugin/test_out_secondary_file.rb +432 -0
- data/test/plugin/test_out_stdout.rb +143 -45
- data/test/plugin/test_output.rb +53 -0
- data/test/plugin/test_output_as_buffered.rb +13 -0
- data/test/plugin/test_output_as_buffered_overflow.rb +3 -0
- data/test/plugin/test_output_as_buffered_retries.rb +11 -0
- data/test/plugin/test_output_as_buffered_secondary.rb +12 -0
- data/test/plugin/test_output_as_standard.rb +12 -0
- data/test/plugin_helper/test_compat_parameters.rb +2 -0
- data/test/plugin_helper/test_timer.rb +31 -0
- data/test/test_event_router.rb +87 -0
- data/test/test_filter.rb +48 -6
- data/test/test_log.rb +5 -2
- data/test/test_output.rb +41 -1
- data/test/test_plugin_classes.rb +17 -9
- data/test/test_root_agent.rb +188 -0
- metadata +62 -68
- data/lib/fluent/plugin/out_buffered_null.rb +0 -59
- data/lib/fluent/plugin/out_buffered_stdout.rb +0 -70
- data/test/plugin/test_out_buffered_null.rb +0 -79
- data/test/plugin/test_out_buffered_stdout.rb +0 -122
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.14.
|
|
4
|
+
version: 0.14.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sadayuki Furuhashi
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-09-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: msgpack
|
|
@@ -17,6 +17,9 @@ dependencies:
|
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: 0.7.0
|
|
20
|
+
- - "<"
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 2.0.0
|
|
20
23
|
type: :runtime
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -24,20 +27,9 @@ dependencies:
|
|
|
24
27
|
- - ">="
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
29
|
version: 0.7.0
|
|
27
|
-
-
|
|
28
|
-
name: json
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - ">="
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: 1.4.3
|
|
34
|
-
type: :runtime
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - ">="
|
|
30
|
+
- - "<"
|
|
39
31
|
- !ruby/object:Gem::Version
|
|
40
|
-
version:
|
|
32
|
+
version: 2.0.0
|
|
41
33
|
- !ruby/object:Gem::Dependency
|
|
42
34
|
name: yajl-ruby
|
|
43
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -56,36 +48,30 @@ dependencies:
|
|
|
56
48
|
name: cool.io
|
|
57
49
|
requirement: !ruby/object:Gem::Requirement
|
|
58
50
|
requirements:
|
|
59
|
-
- - "
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: 1.4.3
|
|
62
|
-
- - "<"
|
|
51
|
+
- - "~>"
|
|
63
52
|
- !ruby/object:Gem::Version
|
|
64
|
-
version:
|
|
53
|
+
version: 1.4.5
|
|
65
54
|
type: :runtime
|
|
66
55
|
prerelease: false
|
|
67
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
68
57
|
requirements:
|
|
69
|
-
- - "
|
|
70
|
-
- !ruby/object:Gem::Version
|
|
71
|
-
version: 1.4.3
|
|
72
|
-
- - "<"
|
|
58
|
+
- - "~>"
|
|
73
59
|
- !ruby/object:Gem::Version
|
|
74
|
-
version:
|
|
60
|
+
version: 1.4.5
|
|
75
61
|
- !ruby/object:Gem::Dependency
|
|
76
62
|
name: serverengine
|
|
77
63
|
requirement: !ruby/object:Gem::Requirement
|
|
78
64
|
requirements:
|
|
79
|
-
- - "
|
|
65
|
+
- - "~>"
|
|
80
66
|
- !ruby/object:Gem::Version
|
|
81
|
-
version:
|
|
67
|
+
version: '2.0'
|
|
82
68
|
type: :runtime
|
|
83
69
|
prerelease: false
|
|
84
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
85
71
|
requirements:
|
|
86
|
-
- - "
|
|
72
|
+
- - "~>"
|
|
87
73
|
- !ruby/object:Gem::Version
|
|
88
|
-
version:
|
|
74
|
+
version: '2.0'
|
|
89
75
|
- !ruby/object:Gem::Dependency
|
|
90
76
|
name: http_parser.rb
|
|
91
77
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -124,84 +110,84 @@ dependencies:
|
|
|
124
110
|
name: tzinfo
|
|
125
111
|
requirement: !ruby/object:Gem::Requirement
|
|
126
112
|
requirements:
|
|
127
|
-
- - "
|
|
113
|
+
- - "~>"
|
|
128
114
|
- !ruby/object:Gem::Version
|
|
129
|
-
version: 1.0
|
|
115
|
+
version: '1.0'
|
|
130
116
|
type: :runtime
|
|
131
117
|
prerelease: false
|
|
132
118
|
version_requirements: !ruby/object:Gem::Requirement
|
|
133
119
|
requirements:
|
|
134
|
-
- - "
|
|
120
|
+
- - "~>"
|
|
135
121
|
- !ruby/object:Gem::Version
|
|
136
|
-
version: 1.0
|
|
122
|
+
version: '1.0'
|
|
137
123
|
- !ruby/object:Gem::Dependency
|
|
138
124
|
name: tzinfo-data
|
|
139
125
|
requirement: !ruby/object:Gem::Requirement
|
|
140
126
|
requirements:
|
|
141
|
-
- - "
|
|
127
|
+
- - "~>"
|
|
142
128
|
- !ruby/object:Gem::Version
|
|
143
|
-
version: 1.0
|
|
129
|
+
version: '1.0'
|
|
144
130
|
type: :runtime
|
|
145
131
|
prerelease: false
|
|
146
132
|
version_requirements: !ruby/object:Gem::Requirement
|
|
147
133
|
requirements:
|
|
148
|
-
- - "
|
|
134
|
+
- - "~>"
|
|
149
135
|
- !ruby/object:Gem::Version
|
|
150
|
-
version: 1.0
|
|
136
|
+
version: '1.0'
|
|
151
137
|
- !ruby/object:Gem::Dependency
|
|
152
138
|
name: strptime
|
|
153
139
|
requirement: !ruby/object:Gem::Requirement
|
|
154
140
|
requirements:
|
|
155
|
-
- - "
|
|
141
|
+
- - "~>"
|
|
156
142
|
- !ruby/object:Gem::Version
|
|
157
143
|
version: 0.1.7
|
|
158
144
|
type: :runtime
|
|
159
145
|
prerelease: false
|
|
160
146
|
version_requirements: !ruby/object:Gem::Requirement
|
|
161
147
|
requirements:
|
|
162
|
-
- - "
|
|
148
|
+
- - "~>"
|
|
163
149
|
- !ruby/object:Gem::Version
|
|
164
150
|
version: 0.1.7
|
|
165
151
|
- !ruby/object:Gem::Dependency
|
|
166
152
|
name: rake
|
|
167
153
|
requirement: !ruby/object:Gem::Requirement
|
|
168
154
|
requirements:
|
|
169
|
-
- - "
|
|
155
|
+
- - "~>"
|
|
170
156
|
- !ruby/object:Gem::Version
|
|
171
|
-
version: 0
|
|
157
|
+
version: '11.0'
|
|
172
158
|
type: :development
|
|
173
159
|
prerelease: false
|
|
174
160
|
version_requirements: !ruby/object:Gem::Requirement
|
|
175
161
|
requirements:
|
|
176
|
-
- - "
|
|
162
|
+
- - "~>"
|
|
177
163
|
- !ruby/object:Gem::Version
|
|
178
|
-
version: 0
|
|
164
|
+
version: '11.0'
|
|
179
165
|
- !ruby/object:Gem::Dependency
|
|
180
166
|
name: flexmock
|
|
181
167
|
requirement: !ruby/object:Gem::Requirement
|
|
182
168
|
requirements:
|
|
183
169
|
- - "~>"
|
|
184
170
|
- !ruby/object:Gem::Version
|
|
185
|
-
version: 2.0
|
|
171
|
+
version: '2.0'
|
|
186
172
|
type: :development
|
|
187
173
|
prerelease: false
|
|
188
174
|
version_requirements: !ruby/object:Gem::Requirement
|
|
189
175
|
requirements:
|
|
190
176
|
- - "~>"
|
|
191
177
|
- !ruby/object:Gem::Version
|
|
192
|
-
version: 2.0
|
|
178
|
+
version: '2.0'
|
|
193
179
|
- !ruby/object:Gem::Dependency
|
|
194
180
|
name: parallel_tests
|
|
195
181
|
requirement: !ruby/object:Gem::Requirement
|
|
196
182
|
requirements:
|
|
197
|
-
- - "
|
|
183
|
+
- - "~>"
|
|
198
184
|
- !ruby/object:Gem::Version
|
|
199
185
|
version: 0.15.3
|
|
200
186
|
type: :development
|
|
201
187
|
prerelease: false
|
|
202
188
|
version_requirements: !ruby/object:Gem::Requirement
|
|
203
189
|
requirements:
|
|
204
|
-
- - "
|
|
190
|
+
- - "~>"
|
|
205
191
|
- !ruby/object:Gem::Version
|
|
206
192
|
version: 0.15.3
|
|
207
193
|
- !ruby/object:Gem::Dependency
|
|
@@ -210,70 +196,70 @@ dependencies:
|
|
|
210
196
|
requirements:
|
|
211
197
|
- - "~>"
|
|
212
198
|
- !ruby/object:Gem::Version
|
|
213
|
-
version: 0.
|
|
199
|
+
version: '0.7'
|
|
214
200
|
type: :development
|
|
215
201
|
prerelease: false
|
|
216
202
|
version_requirements: !ruby/object:Gem::Requirement
|
|
217
203
|
requirements:
|
|
218
204
|
- - "~>"
|
|
219
205
|
- !ruby/object:Gem::Version
|
|
220
|
-
version: 0.
|
|
206
|
+
version: '0.7'
|
|
221
207
|
- !ruby/object:Gem::Dependency
|
|
222
208
|
name: rr
|
|
223
209
|
requirement: !ruby/object:Gem::Requirement
|
|
224
210
|
requirements:
|
|
225
|
-
- - "
|
|
211
|
+
- - "~>"
|
|
226
212
|
- !ruby/object:Gem::Version
|
|
227
|
-
version: 1.0
|
|
213
|
+
version: '1.0'
|
|
228
214
|
type: :development
|
|
229
215
|
prerelease: false
|
|
230
216
|
version_requirements: !ruby/object:Gem::Requirement
|
|
231
217
|
requirements:
|
|
232
|
-
- - "
|
|
218
|
+
- - "~>"
|
|
233
219
|
- !ruby/object:Gem::Version
|
|
234
|
-
version: 1.0
|
|
220
|
+
version: '1.0'
|
|
235
221
|
- !ruby/object:Gem::Dependency
|
|
236
222
|
name: timecop
|
|
237
223
|
requirement: !ruby/object:Gem::Requirement
|
|
238
224
|
requirements:
|
|
239
|
-
- - "
|
|
225
|
+
- - "~>"
|
|
240
226
|
- !ruby/object:Gem::Version
|
|
241
|
-
version: 0.3
|
|
227
|
+
version: '0.3'
|
|
242
228
|
type: :development
|
|
243
229
|
prerelease: false
|
|
244
230
|
version_requirements: !ruby/object:Gem::Requirement
|
|
245
231
|
requirements:
|
|
246
|
-
- - "
|
|
232
|
+
- - "~>"
|
|
247
233
|
- !ruby/object:Gem::Version
|
|
248
|
-
version: 0.3
|
|
234
|
+
version: '0.3'
|
|
249
235
|
- !ruby/object:Gem::Dependency
|
|
250
236
|
name: test-unit
|
|
251
237
|
requirement: !ruby/object:Gem::Requirement
|
|
252
238
|
requirements:
|
|
253
239
|
- - "~>"
|
|
254
240
|
- !ruby/object:Gem::Version
|
|
255
|
-
version: 3.
|
|
241
|
+
version: '3.2'
|
|
256
242
|
type: :development
|
|
257
243
|
prerelease: false
|
|
258
244
|
version_requirements: !ruby/object:Gem::Requirement
|
|
259
245
|
requirements:
|
|
260
246
|
- - "~>"
|
|
261
247
|
- !ruby/object:Gem::Version
|
|
262
|
-
version: 3.
|
|
248
|
+
version: '3.2'
|
|
263
249
|
- !ruby/object:Gem::Dependency
|
|
264
250
|
name: test-unit-rr
|
|
265
251
|
requirement: !ruby/object:Gem::Requirement
|
|
266
252
|
requirements:
|
|
267
253
|
- - "~>"
|
|
268
254
|
- !ruby/object:Gem::Version
|
|
269
|
-
version: 1.0
|
|
255
|
+
version: '1.0'
|
|
270
256
|
type: :development
|
|
271
257
|
prerelease: false
|
|
272
258
|
version_requirements: !ruby/object:Gem::Requirement
|
|
273
259
|
requirements:
|
|
274
260
|
- - "~>"
|
|
275
261
|
- !ruby/object:Gem::Version
|
|
276
|
-
version: 1.0
|
|
262
|
+
version: '1.0'
|
|
277
263
|
- !ruby/object:Gem::Dependency
|
|
278
264
|
name: oj
|
|
279
265
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -319,17 +305,25 @@ files:
|
|
|
319
305
|
- example/copy_roundrobin.conf
|
|
320
306
|
- example/filter_stdout.conf
|
|
321
307
|
- example/in_forward.conf
|
|
308
|
+
- example/in_forward_client.conf
|
|
309
|
+
- example/in_forward_shared_key.conf
|
|
310
|
+
- example/in_forward_users.conf
|
|
322
311
|
- example/in_http.conf
|
|
323
312
|
- example/in_out_forward.conf
|
|
324
313
|
- example/in_syslog.conf
|
|
325
314
|
- example/in_tail.conf
|
|
326
315
|
- example/in_tcp.conf
|
|
327
316
|
- example/in_udp.conf
|
|
328
|
-
- example/
|
|
317
|
+
- example/multi_filters.conf
|
|
329
318
|
- example/out_copy.conf
|
|
330
319
|
- example/out_file.conf
|
|
331
320
|
- example/out_forward.conf
|
|
332
321
|
- example/out_forward_buf_file.conf
|
|
322
|
+
- example/out_forward_client.conf
|
|
323
|
+
- example/out_forward_shared_key.conf
|
|
324
|
+
- example/out_forward_users.conf
|
|
325
|
+
- example/out_null.conf
|
|
326
|
+
- example/secondary_file.conf
|
|
333
327
|
- example/v0_12_filter.conf
|
|
334
328
|
- example/v1_literal_example.conf
|
|
335
329
|
- fluent.conf
|
|
@@ -429,8 +423,6 @@ files:
|
|
|
429
423
|
- lib/fluent/plugin/in_unix.rb
|
|
430
424
|
- lib/fluent/plugin/input.rb
|
|
431
425
|
- lib/fluent/plugin/multi_output.rb
|
|
432
|
-
- lib/fluent/plugin/out_buffered_null.rb
|
|
433
|
-
- lib/fluent/plugin/out_buffered_stdout.rb
|
|
434
426
|
- lib/fluent/plugin/out_copy.rb
|
|
435
427
|
- lib/fluent/plugin/out_exec.rb
|
|
436
428
|
- lib/fluent/plugin/out_exec_filter.rb
|
|
@@ -439,6 +431,7 @@ files:
|
|
|
439
431
|
- lib/fluent/plugin/out_null.rb
|
|
440
432
|
- lib/fluent/plugin/out_relabel.rb
|
|
441
433
|
- lib/fluent/plugin/out_roundrobin.rb
|
|
434
|
+
- lib/fluent/plugin/out_secondary_file.rb
|
|
442
435
|
- lib/fluent/plugin/out_stdout.rb
|
|
443
436
|
- lib/fluent/plugin/out_stream.rb
|
|
444
437
|
- lib/fluent/plugin/output.rb
|
|
@@ -499,6 +492,7 @@ files:
|
|
|
499
492
|
- lib/fluent/test/log.rb
|
|
500
493
|
- lib/fluent/test/output_test.rb
|
|
501
494
|
- lib/fluent/test/parser_test.rb
|
|
495
|
+
- lib/fluent/test/startup_shutdown.rb
|
|
502
496
|
- lib/fluent/time.rb
|
|
503
497
|
- lib/fluent/timezone.rb
|
|
504
498
|
- lib/fluent/unique_id.rb
|
|
@@ -548,6 +542,7 @@ files:
|
|
|
548
542
|
- test/plugin/test_in_forward.rb
|
|
549
543
|
- test/plugin/test_in_gc_stat.rb
|
|
550
544
|
- test/plugin/test_in_http.rb
|
|
545
|
+
- test/plugin/test_in_monitor_agent.rb
|
|
551
546
|
- test/plugin/test_in_object_space.rb
|
|
552
547
|
- test/plugin/test_in_syslog.rb
|
|
553
548
|
- test/plugin/test_in_tail.rb
|
|
@@ -556,8 +551,6 @@ files:
|
|
|
556
551
|
- test/plugin/test_in_unix.rb
|
|
557
552
|
- test/plugin/test_input.rb
|
|
558
553
|
- test/plugin/test_multi_output.rb
|
|
559
|
-
- test/plugin/test_out_buffered_null.rb
|
|
560
|
-
- test/plugin/test_out_buffered_stdout.rb
|
|
561
554
|
- test/plugin/test_out_copy.rb
|
|
562
555
|
- test/plugin/test_out_exec.rb
|
|
563
556
|
- test/plugin/test_out_exec_filter.rb
|
|
@@ -566,6 +559,7 @@ files:
|
|
|
566
559
|
- test/plugin/test_out_null.rb
|
|
567
560
|
- test/plugin/test_out_relabel.rb
|
|
568
561
|
- test/plugin/test_out_roundrobin.rb
|
|
562
|
+
- test/plugin/test_out_secondary_file.rb
|
|
569
563
|
- test/plugin/test_out_stdout.rb
|
|
570
564
|
- test/plugin/test_out_stream.rb
|
|
571
565
|
- test/plugin/test_output.rb
|
|
@@ -696,6 +690,7 @@ test_files:
|
|
|
696
690
|
- test/plugin/test_in_forward.rb
|
|
697
691
|
- test/plugin/test_in_gc_stat.rb
|
|
698
692
|
- test/plugin/test_in_http.rb
|
|
693
|
+
- test/plugin/test_in_monitor_agent.rb
|
|
699
694
|
- test/plugin/test_in_object_space.rb
|
|
700
695
|
- test/plugin/test_in_syslog.rb
|
|
701
696
|
- test/plugin/test_in_tail.rb
|
|
@@ -704,8 +699,6 @@ test_files:
|
|
|
704
699
|
- test/plugin/test_in_unix.rb
|
|
705
700
|
- test/plugin/test_input.rb
|
|
706
701
|
- test/plugin/test_multi_output.rb
|
|
707
|
-
- test/plugin/test_out_buffered_null.rb
|
|
708
|
-
- test/plugin/test_out_buffered_stdout.rb
|
|
709
702
|
- test/plugin/test_out_copy.rb
|
|
710
703
|
- test/plugin/test_out_exec.rb
|
|
711
704
|
- test/plugin/test_out_exec_filter.rb
|
|
@@ -714,6 +707,7 @@ test_files:
|
|
|
714
707
|
- test/plugin/test_out_null.rb
|
|
715
708
|
- test/plugin/test_out_relabel.rb
|
|
716
709
|
- test/plugin/test_out_roundrobin.rb
|
|
710
|
+
- test/plugin/test_out_secondary_file.rb
|
|
717
711
|
- test/plugin/test_out_stdout.rb
|
|
718
712
|
- test/plugin/test_out_stream.rb
|
|
719
713
|
- test/plugin/test_output.rb
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Fluentd
|
|
3
|
-
#
|
|
4
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
# you may not use this file except in compliance with the License.
|
|
6
|
-
# You may obtain a copy of the License at
|
|
7
|
-
#
|
|
8
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
#
|
|
10
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
# See the License for the specific language governing permissions and
|
|
14
|
-
# limitations under the License.
|
|
15
|
-
#
|
|
16
|
-
|
|
17
|
-
require 'fluent/plugin/output'
|
|
18
|
-
|
|
19
|
-
module Fluent::Plugin
|
|
20
|
-
class BufferedNullOutput < Output
|
|
21
|
-
# This plugin is for tests of buffer plugins
|
|
22
|
-
|
|
23
|
-
Fluent::Plugin.register_output('buffered_null', self)
|
|
24
|
-
|
|
25
|
-
config_section :buffer do
|
|
26
|
-
config_set_default :chunk_keys, ['tag']
|
|
27
|
-
config_set_default :flush_at_shutdown, true
|
|
28
|
-
config_set_default :chunk_limit_size, 10 * 1024
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
attr_accessor :feed_proc, :delayed
|
|
32
|
-
|
|
33
|
-
def initialize
|
|
34
|
-
super
|
|
35
|
-
@delayed = false
|
|
36
|
-
@feed_proc = nil
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def prefer_delayed_commit
|
|
40
|
-
@delayed
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def write(chunk)
|
|
44
|
-
if @feed_proc
|
|
45
|
-
@feed_proc.call(chunk)
|
|
46
|
-
else
|
|
47
|
-
# ignore chunk.read
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def try_write(chunk)
|
|
52
|
-
if @feed_proc
|
|
53
|
-
@feed_proc.call(chunk)
|
|
54
|
-
else
|
|
55
|
-
# ignore chunk.read
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Fluentd
|
|
3
|
-
#
|
|
4
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
# you may not use this file except in compliance with the License.
|
|
6
|
-
# You may obtain a copy of the License at
|
|
7
|
-
#
|
|
8
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
#
|
|
10
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
# See the License for the specific language governing permissions and
|
|
14
|
-
# limitations under the License.
|
|
15
|
-
#
|
|
16
|
-
|
|
17
|
-
require 'fluent/plugin/output'
|
|
18
|
-
|
|
19
|
-
module Fluent::Plugin
|
|
20
|
-
class BufferedStdoutOutput < Output
|
|
21
|
-
Fluent::Plugin.register_output('buffered_stdout', self)
|
|
22
|
-
|
|
23
|
-
helpers :formatter, :inject, :compat_parameters
|
|
24
|
-
|
|
25
|
-
config_section :buffer do
|
|
26
|
-
config_set_default :chunk_keys, ['tag']
|
|
27
|
-
config_set_default :flush_at_shutdown, true
|
|
28
|
-
config_set_default :chunk_limit_size, 10 * 1024
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
DEFAULT_FORMAT_TYPE = 'json'
|
|
32
|
-
|
|
33
|
-
config_section :format do
|
|
34
|
-
config_set_default :@type, DEFAULT_FORMAT_TYPE
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
attr_accessor :delayed
|
|
38
|
-
|
|
39
|
-
def initialize
|
|
40
|
-
super
|
|
41
|
-
@delayed = false
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def prefer_delayed_commit
|
|
45
|
-
@delayed
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def configure(conf)
|
|
49
|
-
if conf['output_type'] && !conf['format']
|
|
50
|
-
conf['format'] = conf['output_type']
|
|
51
|
-
end
|
|
52
|
-
compat_parameters_convert(conf, :inject, :formatter)
|
|
53
|
-
super
|
|
54
|
-
@formatter = formatter_create(conf: conf.elements('format').first, default_type: DEFAULT_FORMAT_TYPE)
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
def write(chunk)
|
|
58
|
-
chunk.write_to($log)
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
def try_write(chunk)
|
|
62
|
-
chunk.write_to($log)
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
def format(tag, time, record)
|
|
66
|
-
record = inject_values_to_record(tag, time, record)
|
|
67
|
-
"#{Time.at(time).localtime} #{tag}: #{@formatter.format(tag, time, record).chomp}\n"
|
|
68
|
-
end
|
|
69
|
-
end
|
|
70
|
-
end
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
require_relative '../helper'
|
|
2
|
-
require 'fluent/test/driver/output'
|
|
3
|
-
require 'fluent/plugin/out_buffered_null'
|
|
4
|
-
|
|
5
|
-
class BufferedNullOutputTestCase < Test::Unit::TestCase
|
|
6
|
-
sub_test_case 'BufferedNullOutput' do
|
|
7
|
-
test 'default chunk limit size is 100' do
|
|
8
|
-
d = Fluent::Test::Driver::Output.new(Fluent::Plugin::BufferedNullOutput).configure('')
|
|
9
|
-
assert_equal 10 * 1024, d.instance.buffer_config.chunk_limit_size
|
|
10
|
-
assert d.instance.buffer_config.flush_at_shutdown
|
|
11
|
-
assert_equal ['tag'], d.instance.buffer_config.chunk_keys
|
|
12
|
-
assert d.instance.chunk_key_tag
|
|
13
|
-
assert !d.instance.chunk_key_time
|
|
14
|
-
assert_equal [], d.instance.chunk_keys
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
test 'writes standard formattted chunks' do
|
|
18
|
-
d = Fluent::Test::Driver::Output.new(Fluent::Plugin::BufferedNullOutput).configure('')
|
|
19
|
-
t = event_time("2016-05-23 00:22:13 -0800")
|
|
20
|
-
d.run(default_tag: 'test', flush: true) do
|
|
21
|
-
d.feed(t, {"message" => "null null null"})
|
|
22
|
-
d.feed(t, {"message" => "null null"})
|
|
23
|
-
d.feed(t, {"message" => "null"})
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
assert_equal 3, d.instance.emit_count
|
|
27
|
-
assert_equal 3, d.instance.emit_records
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
test 'check for chunk passed to #write' do
|
|
31
|
-
d = Fluent::Test::Driver::Output.new(Fluent::Plugin::BufferedNullOutput).configure('')
|
|
32
|
-
data = []
|
|
33
|
-
d.instance.feed_proc = ->(chunk){ data << [chunk.unique_id, chunk.metadata.tag, chunk.read] }
|
|
34
|
-
|
|
35
|
-
t = event_time("2016-05-23 00:22:13 -0800")
|
|
36
|
-
d.run(default_tag: 'test', flush: true) do
|
|
37
|
-
d.feed(t, {"message" => "null null null"})
|
|
38
|
-
d.feed(t, {"message" => "null null"})
|
|
39
|
-
d.feed(t, {"message" => "null"})
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
assert_equal 1, data.size
|
|
43
|
-
_, tag, binary = data.first
|
|
44
|
-
events = []
|
|
45
|
-
Fluent::MessagePackFactory.unpacker.feed_each(binary){|obj| events << obj }
|
|
46
|
-
assert_equal 'test', tag
|
|
47
|
-
assert_equal [ [t, {"message" => "null null null"}], [t, {"message" => "null null"}], [t, {"message" => "null"}] ], events
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
test 'check for chunk passed to #try_write' do
|
|
51
|
-
d = Fluent::Test::Driver::Output.new(Fluent::Plugin::BufferedNullOutput).configure('')
|
|
52
|
-
data = []
|
|
53
|
-
d.instance.feed_proc = ->(chunk){ data << [chunk.unique_id, chunk.metadata.tag, chunk.read] }
|
|
54
|
-
d.instance.delayed = true
|
|
55
|
-
|
|
56
|
-
t = event_time("2016-05-23 00:22:13 -0800")
|
|
57
|
-
d.run(default_tag: 'test', flush: true, shutdown: false) do
|
|
58
|
-
d.feed(t, {"message" => "null null null"})
|
|
59
|
-
d.feed(t, {"message" => "null null"})
|
|
60
|
-
d.feed(t, {"message" => "null"})
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
assert_equal 1, data.size
|
|
64
|
-
chunk_id, tag, binary = data.first
|
|
65
|
-
events = []
|
|
66
|
-
Fluent::MessagePackFactory.unpacker.feed_each(binary){|obj| events << obj }
|
|
67
|
-
assert_equal 'test', tag
|
|
68
|
-
assert_equal [ [t, {"message" => "null null null"}], [t, {"message" => "null null"}], [t, {"message" => "null"}] ], events
|
|
69
|
-
|
|
70
|
-
assert_equal [chunk_id], d.instance.buffer.dequeued.keys
|
|
71
|
-
|
|
72
|
-
d.instance.commit_write(chunk_id)
|
|
73
|
-
|
|
74
|
-
assert_equal [], d.instance.buffer.dequeued.keys
|
|
75
|
-
|
|
76
|
-
d.instance_shutdown
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
end
|