fluentd 0.14.11 → 0.14.12
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/.travis.yml +1 -5
- data/ChangeLog +54 -2
- data/example/in_dummy_blocks.conf +17 -0
- data/example/in_forward_tls.conf +14 -0
- data/example/in_forward_workers.conf +21 -0
- data/example/logevents.conf +25 -0
- data/example/out_forward_heartbeat_none.conf +16 -0
- data/example/out_forward_tls.conf +18 -0
- data/example/suppress_config_dump.conf +7 -0
- data/lib/fluent/agent.rb +3 -32
- data/lib/fluent/clock.rb +62 -0
- data/lib/fluent/command/fluentd.rb +12 -0
- data/lib/fluent/compat/input.rb +10 -1
- data/lib/fluent/compat/output.rb +40 -1
- data/lib/fluent/config/configure_proxy.rb +30 -7
- data/lib/fluent/config/section.rb +4 -0
- data/lib/fluent/config/types.rb +2 -2
- data/lib/fluent/configurable.rb +31 -5
- data/lib/fluent/engine.rb +61 -12
- data/lib/fluent/event_router.rb +6 -0
- data/lib/fluent/load.rb +0 -1
- data/lib/fluent/log.rb +118 -42
- data/lib/fluent/match.rb +37 -0
- data/lib/fluent/plugin.rb +25 -3
- data/lib/fluent/plugin/base.rb +4 -0
- data/lib/fluent/plugin/buf_file.rb +38 -14
- data/lib/fluent/plugin/buffer.rb +20 -20
- data/lib/fluent/plugin/buffer/file_chunk.rb +2 -2
- data/lib/fluent/plugin/compressable.rb +1 -0
- data/lib/fluent/plugin/filter_record_transformer.rb +3 -6
- data/lib/fluent/plugin/formatter_csv.rb +4 -1
- data/lib/fluent/plugin/formatter_hash.rb +5 -1
- data/lib/fluent/plugin/formatter_json.rb +10 -0
- data/lib/fluent/plugin/formatter_ltsv.rb +2 -1
- data/lib/fluent/plugin/in_dummy.rb +4 -0
- data/lib/fluent/plugin/in_exec.rb +4 -0
- data/lib/fluent/plugin/in_forward.rb +11 -3
- data/lib/fluent/plugin/in_gc_stat.rb +4 -0
- data/lib/fluent/plugin/in_http.rb +4 -0
- data/lib/fluent/plugin/in_monitor_agent.rb +29 -2
- data/lib/fluent/plugin/in_object_space.rb +4 -1
- data/lib/fluent/plugin/in_syslog.rb +4 -0
- data/lib/fluent/plugin/in_tail.rb +193 -116
- data/lib/fluent/plugin/in_tcp.rb +5 -1
- data/lib/fluent/plugin/in_udp.rb +4 -0
- data/lib/fluent/plugin/input.rb +4 -0
- data/lib/fluent/plugin/out_copy.rb +4 -0
- data/lib/fluent/plugin/out_exec.rb +4 -0
- data/lib/fluent/plugin/out_exec_filter.rb +4 -0
- data/lib/fluent/plugin/out_file.rb +70 -30
- data/lib/fluent/plugin/out_forward.rb +132 -28
- data/lib/fluent/plugin/out_null.rb +10 -0
- data/lib/fluent/plugin/out_relabel.rb +4 -0
- data/lib/fluent/plugin/out_roundrobin.rb +4 -0
- data/lib/fluent/plugin/out_secondary_file.rb +5 -0
- data/lib/fluent/plugin/out_stdout.rb +5 -0
- data/lib/fluent/plugin/output.rb +18 -9
- data/lib/fluent/plugin/storage_local.rb +25 -2
- data/lib/fluent/plugin_helper/cert_option.rb +159 -0
- data/lib/fluent/plugin_helper/child_process.rb +6 -6
- data/lib/fluent/plugin_helper/compat_parameters.rb +1 -1
- data/lib/fluent/plugin_helper/event_loop.rb +29 -4
- data/lib/fluent/plugin_helper/inject.rb +14 -1
- data/lib/fluent/plugin_helper/server.rb +275 -31
- data/lib/fluent/plugin_helper/socket.rb +144 -4
- data/lib/fluent/plugin_helper/socket_option.rb +2 -17
- data/lib/fluent/plugin_helper/storage.rb +7 -1
- data/lib/fluent/plugin_helper/thread.rb +16 -4
- data/lib/fluent/registry.rb +26 -9
- data/lib/fluent/root_agent.rb +7 -3
- data/lib/fluent/supervisor.rb +37 -15
- data/lib/fluent/system_config.rb +37 -10
- data/lib/fluent/test.rb +2 -0
- data/lib/fluent/test/driver/base.rb +24 -26
- data/lib/fluent/test/helpers.rb +21 -0
- data/lib/fluent/version.rb +1 -1
- data/test/command/test_fluentd.rb +274 -4
- data/test/config/test_configurable.rb +154 -0
- data/test/config/test_configure_proxy.rb +180 -1
- data/test/config/test_system_config.rb +10 -0
- data/test/config/test_types.rb +1 -0
- data/test/plugin/test_base.rb +4 -0
- data/test/plugin/test_buf_file.rb +241 -9
- data/test/plugin/test_buffer.rb +11 -11
- data/test/plugin/test_buffer_file_chunk.rb +6 -6
- data/test/plugin/test_compressable.rb +3 -0
- data/test/plugin/test_filter.rb +4 -0
- data/test/plugin/test_filter_record_transformer.rb +20 -0
- data/test/plugin/test_formatter_csv.rb +9 -0
- data/test/plugin/test_formatter_hash.rb +35 -0
- data/test/plugin/test_formatter_json.rb +8 -0
- data/test/plugin/test_formatter_ltsv.rb +7 -0
- data/test/plugin/test_in_dummy.rb +7 -3
- data/test/plugin/test_in_monitor_agent.rb +43 -5
- data/test/plugin/test_in_tail.rb +97 -4
- data/test/plugin/test_input.rb +4 -0
- data/test/plugin/test_out_file.rb +46 -7
- data/test/plugin/test_out_forward.rb +59 -7
- data/test/plugin/test_output.rb +10 -4
- data/test/plugin/test_output_as_buffered.rb +37 -25
- data/test/plugin/test_output_as_buffered_compress.rb +1 -1
- data/test/plugin/test_output_as_buffered_retries.rb +6 -6
- data/test/plugin/test_output_as_buffered_secondary.rb +91 -31
- data/test/plugin/test_storage_local.rb +40 -1
- data/test/plugin_helper/test_child_process.rb +29 -28
- data/test/plugin_helper/test_compat_parameters.rb +1 -1
- data/test/plugin_helper/test_inject.rb +27 -9
- data/test/plugin_helper/test_server.rb +822 -50
- data/test/plugin_helper/test_storage.rb +11 -0
- data/test/plugin_helper/test_timer.rb +1 -0
- data/test/test_clock.rb +164 -0
- data/test/test_log.rb +146 -15
- data/test/test_plugin.rb +251 -0
- data/test/test_supervisor.rb +65 -57
- data/test/test_test_drivers.rb +2 -2
- metadata +18 -7
- data/lib/fluent/process.rb +0 -504
- data/test/test_process.rb +0 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c60b140cfb115311fce72ec8be60de12fac24d5
|
4
|
+
data.tar.gz: d7d3eb5f2f0edcdbf3af33dc738f504bb7e9c05b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fc6d3c53b3890e58f8193f2e92098ddd2a27e91720f28df6cca793011b792bc91c078b295afa2f73ad36572d7aa6255a2b811002b7070686f32f2837e8445a6
|
7
|
+
data.tar.gz: 373cef8be79781fc5189bf3497e794ea46d4d8218628816539935cb32f4ea44ffa4a3c70cda9533254dff5e0171900cb7d9ebb444e6bdb3fb2d0a8ba42d6a729
|
data/.travis.yml
CHANGED
@@ -35,11 +35,6 @@ matrix:
|
|
35
35
|
allow_failures:
|
36
36
|
- rvm: ruby-head
|
37
37
|
|
38
|
-
# no valid version/env for ruby 2.3 right now
|
39
|
-
# - rvm: 2.3.0
|
40
|
-
# os: osx
|
41
|
-
# osx_image: ....
|
42
|
-
|
43
38
|
branches:
|
44
39
|
only:
|
45
40
|
- master
|
@@ -48,6 +43,7 @@ branches:
|
|
48
43
|
- v0.14
|
49
44
|
|
50
45
|
sudo: false
|
46
|
+
dist: trusty # for TLSv1.2 support
|
51
47
|
|
52
48
|
addons:
|
53
49
|
apt:
|
data/ChangeLog
CHANGED
@@ -1,5 +1,57 @@
|
|
1
1
|
# v0.14
|
2
2
|
|
3
|
+
## Release v0.14.12 - 2017/01/30
|
4
|
+
|
5
|
+
### New features / Enhancements
|
6
|
+
* Support multi process workers by `workers` option
|
7
|
+
https://github.com/fluent/fluentd/pull/1386
|
8
|
+
* Support TLS transport security layer by server plugin helper, and forward input/output plugins
|
9
|
+
https://github.com/fluent/fluentd/pull/1423
|
10
|
+
* Update internal log event handling to route log events to `@FLUENT_LOG` label if configured, suppress log events in startup/shutdown in default
|
11
|
+
https://github.com/fluent/fluentd/pull/1405
|
12
|
+
* Rename buffer plugin chunk limit parameters for consistency
|
13
|
+
https://github.com/fluent/fluentd/pull/1412
|
14
|
+
* Encode string values from configuration files in UTF8
|
15
|
+
https://github.com/fluent/fluentd/pull/1411
|
16
|
+
* Reorder plugin load paths to load rubygem plugins earlier than built-in plugins to overwrite them
|
17
|
+
https://github.com/fluent/fluentd/pull/1410
|
18
|
+
* Clock API to control internal thread control
|
19
|
+
https://github.com/fluent/fluentd/pull/1425
|
20
|
+
* Validate `config_param` options to restrict unexpected specifications
|
21
|
+
https://github.com/fluent/fluentd/pull/1437
|
22
|
+
* formatter: Add `add_newline` option to get formatted lines without newlines
|
23
|
+
https://github.com/fluent/fluentd/pull/1420
|
24
|
+
* in_forward: Add `ignore_network_errors_at_startup` option for automated cluster deployment
|
25
|
+
https://github.com/fluent/fluentd/pull/1399
|
26
|
+
* in_forward: Close listening socket in #stop, not to accept new connection request in early stage of shutdown
|
27
|
+
https://github.com/fluent/fluentd/pull/1401
|
28
|
+
* out_forward: Ensure to pack values in `str` type of msgpack
|
29
|
+
https://github.com/fluent/fluentd/pull/1413
|
30
|
+
* in_tail: Add `emit_unmatched_lines` to capture lines which unmatch configured regular expressions
|
31
|
+
https://github.com/fluent/fluentd/pull/1421
|
32
|
+
* in_tail: Add `open_on_every_update` to read lines from files opened in exclusive mode on Windows platform
|
33
|
+
https://github.com/fluent/fluentd/pull/1409
|
34
|
+
* in_monitor_agent: Add `with_ivars` query parameter to get instance variables only for specified instance variables
|
35
|
+
https://github.com/fluent/fluentd/pull/1393
|
36
|
+
* storage_local: Generate file store path using `usage`, with `root_dir` configuration
|
37
|
+
https://github.com/fluent/fluentd/pull/1438
|
38
|
+
* Improve test stability
|
39
|
+
https://github.com/fluent/fluentd/pull/1426
|
40
|
+
|
41
|
+
### Bug fixes
|
42
|
+
* Fix bug to ignore command line options: `--rpc-endpoint`, `--suppress-config-dump`, etc
|
43
|
+
https://github.com/fluent/fluentd/pull/1398
|
44
|
+
* Fix bug to block infinitely in shutdown when buffer is full and `overflow_action` is `block`
|
45
|
+
https://github.com/fluent/fluentd/pull/1396
|
46
|
+
* buf_file: Fix bug not to use `root_dir` even if configured correctly
|
47
|
+
https://github.com/fluent/fluentd/pull/1417
|
48
|
+
* filter_record_transformer: Fix to use BasicObject for clean room
|
49
|
+
https://github.com/fluent/fluentd/pull/1415
|
50
|
+
* filter_record_transformer: Fix bug that `remove_keys` doesn't work with `renew_time_key`
|
51
|
+
https://github.com/fluent/fluentd/pull/1433
|
52
|
+
* in_monitor_agent: Fix bug to crash with NoMethodError for some output plugins
|
53
|
+
https://github.com/fluent/fluentd/pull/1365
|
54
|
+
|
3
55
|
## Release v0.14.11 - 2016/12/26
|
4
56
|
|
5
57
|
### New features / Enhancements
|
@@ -21,9 +73,9 @@
|
|
21
73
|
|
22
74
|
### Bug fixes
|
23
75
|
* Fix to set process name of supervisor process
|
24
|
-
https://github.com/fluent/fluentd/pull/1380
|
76
|
+
https://github.com/fluent/fluentd/pull/1380
|
25
77
|
* in_forward: Fix a bug not to handle "require_ack_response" correctly
|
26
|
-
https://github.com/fluent/fluentd/pull/1389
|
78
|
+
https://github.com/fluent/fluentd/pull/1389
|
27
79
|
|
28
80
|
|
29
81
|
## Release v0.14.10 - 2016/12/14
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<source>
|
2
|
+
@type dummy
|
3
|
+
tag dummy
|
4
|
+
rate 100
|
5
|
+
dummy {"message":"yaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay"}
|
6
|
+
</source>
|
7
|
+
|
8
|
+
<match dummy>
|
9
|
+
@type null
|
10
|
+
never_flush true
|
11
|
+
<buffer>
|
12
|
+
@type memory
|
13
|
+
overflow_action block
|
14
|
+
chunk_limit_size 1k
|
15
|
+
total_limit_size 2k
|
16
|
+
</buffer>
|
17
|
+
</match>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<system>
|
2
|
+
workers 3
|
3
|
+
root_dir "#{File.join(Dir.pwd, 'test', 'tmp', 'root')}"
|
4
|
+
</system>
|
5
|
+
|
6
|
+
<source>
|
7
|
+
@type forward
|
8
|
+
@id forward_in_1
|
9
|
+
</source>
|
10
|
+
|
11
|
+
<match test>
|
12
|
+
@type stdout
|
13
|
+
@id stdout_out_1
|
14
|
+
<inject>
|
15
|
+
worker_id_key worker_id
|
16
|
+
</inject>
|
17
|
+
<buffer>
|
18
|
+
@type file
|
19
|
+
flush_interval 1s
|
20
|
+
</buffer>
|
21
|
+
</match>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<source>
|
2
|
+
@type dummy
|
3
|
+
@label @dummylog
|
4
|
+
tag "data"
|
5
|
+
dummy {"message":"yay"}
|
6
|
+
</source>
|
7
|
+
<label @dummylog>
|
8
|
+
<match **>
|
9
|
+
@type stdout
|
10
|
+
</match>
|
11
|
+
</label>
|
12
|
+
<label @FLUENT_LOG>
|
13
|
+
<match fluent.debug fluent.info fluent.warn fluent.error fluent.fatal>
|
14
|
+
@type stdout
|
15
|
+
<inject>
|
16
|
+
hostname_key "host"
|
17
|
+
</inject>
|
18
|
+
</match>
|
19
|
+
# <match fluent.{info,warn,error,fatal}>
|
20
|
+
# @type stdout
|
21
|
+
# <inject>
|
22
|
+
# hostname_key "host"
|
23
|
+
# </inject>
|
24
|
+
# </match>
|
25
|
+
</label>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<source>
|
2
|
+
@type dummy
|
3
|
+
tag test
|
4
|
+
</source>
|
5
|
+
|
6
|
+
<match test>
|
7
|
+
@type forward
|
8
|
+
transport tls
|
9
|
+
tls_insecure_mode true
|
10
|
+
<server>
|
11
|
+
# first server
|
12
|
+
host 127.0.0.1
|
13
|
+
port 24224
|
14
|
+
</server>
|
15
|
+
<buffer>
|
16
|
+
flush_interval 0
|
17
|
+
</buffer>
|
18
|
+
</match>
|
data/lib/fluent/agent.rb
CHANGED
@@ -17,6 +17,7 @@
|
|
17
17
|
require 'fluent/configurable'
|
18
18
|
require 'fluent/plugin'
|
19
19
|
require 'fluent/output'
|
20
|
+
require 'fluent/match'
|
20
21
|
|
21
22
|
module Fluent
|
22
23
|
#
|
@@ -120,7 +121,7 @@ module Fluent
|
|
120
121
|
end
|
121
122
|
|
122
123
|
def add_match(type, pattern, conf)
|
123
|
-
log.info "adding match#{@context.nil? ? '' : " in #{@context}"}", pattern: pattern, type: type
|
124
|
+
log.info :worker0, "adding match#{@context.nil? ? '' : " in #{@context}"}", pattern: pattern, type: type
|
124
125
|
|
125
126
|
output = Plugin.new_output(type)
|
126
127
|
output.context_router = @event_router
|
@@ -141,7 +142,7 @@ module Fluent
|
|
141
142
|
end
|
142
143
|
|
143
144
|
def add_filter(type, pattern, conf)
|
144
|
-
log.info "adding filter#{@context.nil? ? '' : " in #{@context}"}", pattern: pattern, type: type
|
145
|
+
log.info :worker0, "adding filter#{@context.nil? ? '' : " in #{@context}"}", pattern: pattern, type: type
|
145
146
|
|
146
147
|
filter = Plugin.new_filter(type)
|
147
148
|
filter.context_router = @event_router
|
@@ -158,35 +159,5 @@ module Fluent
|
|
158
159
|
|
159
160
|
def handle_emits_error(tag, es, error)
|
160
161
|
end
|
161
|
-
|
162
|
-
class NoMatchMatch
|
163
|
-
def initialize(log)
|
164
|
-
@log = log
|
165
|
-
@count = 0
|
166
|
-
end
|
167
|
-
|
168
|
-
def emit_events(tag, es)
|
169
|
-
# TODO use time instead of num of records
|
170
|
-
c = (@count += 1)
|
171
|
-
if c < 512
|
172
|
-
if Math.log(c) / Math.log(2) % 1.0 == 0
|
173
|
-
@log.warn "no patterns matched", tag: tag
|
174
|
-
return
|
175
|
-
end
|
176
|
-
else
|
177
|
-
if c % 512 == 0
|
178
|
-
@log.warn "no patterns matched", tag: tag
|
179
|
-
return
|
180
|
-
end
|
181
|
-
end
|
182
|
-
@log.on_trace { @log.trace "no patterns matched", tag: tag }
|
183
|
-
end
|
184
|
-
|
185
|
-
def start
|
186
|
-
end
|
187
|
-
|
188
|
-
def shutdown
|
189
|
-
end
|
190
|
-
end
|
191
162
|
end
|
192
163
|
end
|
data/lib/fluent/clock.rb
ADDED
@@ -0,0 +1,62 @@
|
|
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
|
+
module Fluent
|
18
|
+
module Clock
|
19
|
+
CLOCK_ID = Process::CLOCK_MONOTONIC_RAW rescue Process::CLOCK_MONOTONIC
|
20
|
+
|
21
|
+
@@block_level = 0
|
22
|
+
@@frozen_clock = nil
|
23
|
+
|
24
|
+
def self.now
|
25
|
+
@@frozen_clock || now_raw
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.freeze(dst = nil, &block)
|
29
|
+
return freeze_block(dst, &block) if block_given?
|
30
|
+
|
31
|
+
dst = dst_clock_from_time(dst) if dst.is_a?(Time)
|
32
|
+
@@frozen_clock = dst || now_raw
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.return
|
36
|
+
raise "invalid return while running code in blocks" if @@block_level > 0
|
37
|
+
@@frozen_clock = nil
|
38
|
+
end
|
39
|
+
|
40
|
+
# internal use
|
41
|
+
|
42
|
+
def self.now_raw
|
43
|
+
Process.clock_gettime(CLOCK_ID)
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.dst_clock_from_time(time)
|
47
|
+
diff_sec = Time.now - time
|
48
|
+
now_raw - diff_sec
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.freeze_block(dst)
|
52
|
+
dst = dst_clock_from_time(dst) if dst.is_a?(Time)
|
53
|
+
pre_frozen_clock = @@frozen_clock
|
54
|
+
@@frozen_clock = dst || now_raw
|
55
|
+
@@block_level += 1
|
56
|
+
yield
|
57
|
+
ensure
|
58
|
+
@@block_level -= 1
|
59
|
+
@@frozen_clock = pre_frozen_clock
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -69,6 +69,10 @@ op.on('--no-supervisor', "run fluent worker without supervisor") {
|
|
69
69
|
opts[:standalone_worker] = true
|
70
70
|
}
|
71
71
|
|
72
|
+
op.on('--workers NUM', "specify the number of workers under supervisor") { |i|
|
73
|
+
opts[:workers] = i.to_i
|
74
|
+
}
|
75
|
+
|
72
76
|
op.on('--user USER', "change user") {|s|
|
73
77
|
opts[:chuser] = s
|
74
78
|
}
|
@@ -98,6 +102,10 @@ op.on('--log-rotate-size BYTES', 'sets the byte size to rotate log files') {|s|
|
|
98
102
|
opts[:log_rotate_size] = s.to_i
|
99
103
|
}
|
100
104
|
|
105
|
+
op.on('--log-event-verbose', 'enable log events during process startup/shutdown') {|b|
|
106
|
+
opts[:log_event_verbose] = b
|
107
|
+
}
|
108
|
+
|
101
109
|
op.on('-i', '--inline-config CONFIG_STRING', "inline config which is appended to the config file on-the-fly") {|s|
|
102
110
|
opts[:inline_config] = s
|
103
111
|
}
|
@@ -285,5 +293,9 @@ require 'fluent/supervisor'
|
|
285
293
|
if opts[:supervise]
|
286
294
|
Fluent::Supervisor.new(opts).run_supervisor
|
287
295
|
else
|
296
|
+
if opts[:standalone_worker] && opts[:workers] && opts[:workers] > 1
|
297
|
+
puts "Error: multi workers is not supported with --no-supervisor"
|
298
|
+
exit 2
|
299
|
+
end
|
288
300
|
Fluent::Supervisor.new(opts).run_worker
|
289
301
|
end
|
data/lib/fluent/compat/input.rb
CHANGED
@@ -17,7 +17,6 @@
|
|
17
17
|
require 'fluent/plugin'
|
18
18
|
require 'fluent/plugin/input'
|
19
19
|
require 'fluent/compat/call_super_mixin'
|
20
|
-
require 'fluent/process' # to load Fluent::DetachProcessMixin
|
21
20
|
|
22
21
|
module Fluent
|
23
22
|
module Compat
|
@@ -44,6 +43,16 @@ module Fluent
|
|
44
43
|
def shutdown
|
45
44
|
super
|
46
45
|
end
|
46
|
+
|
47
|
+
def detach_process(&block)
|
48
|
+
log.warn "detach_process is not supported in this version. ignored."
|
49
|
+
block.call
|
50
|
+
end
|
51
|
+
|
52
|
+
def detach_multi_process(&block)
|
53
|
+
log.warn "detach_process is not supported in this version. ignored."
|
54
|
+
block.call
|
55
|
+
end
|
47
56
|
end
|
48
57
|
end
|
49
58
|
end
|
data/lib/fluent/compat/output.rb
CHANGED
@@ -27,7 +27,6 @@ require 'fluent/compat/output_chain'
|
|
27
27
|
require 'fluent/timezone'
|
28
28
|
require 'fluent/mixin'
|
29
29
|
require 'fluent/event'
|
30
|
-
require 'fluent/process' # to load Fluent::DetachProcessMixin
|
31
30
|
|
32
31
|
require 'fluent/plugin_helper/compat_parameters'
|
33
32
|
|
@@ -188,6 +187,16 @@ module Fluent
|
|
188
187
|
end
|
189
188
|
end
|
190
189
|
end
|
190
|
+
|
191
|
+
def detach_process(&block)
|
192
|
+
log.warn "detach_process is not supported in this version. ignored."
|
193
|
+
block.call
|
194
|
+
end
|
195
|
+
|
196
|
+
def detach_multi_process(&block)
|
197
|
+
log.warn "detach_process is not supported in this version. ignored."
|
198
|
+
block.call
|
199
|
+
end
|
191
200
|
end
|
192
201
|
|
193
202
|
class MultiOutput < Fluent::Plugin::BareOutput
|
@@ -398,6 +407,16 @@ module Fluent
|
|
398
407
|
end
|
399
408
|
end
|
400
409
|
end
|
410
|
+
|
411
|
+
def detach_process(&block)
|
412
|
+
log.warn "detach_process is not supported in this version. ignored."
|
413
|
+
block.call
|
414
|
+
end
|
415
|
+
|
416
|
+
def detach_multi_process(&block)
|
417
|
+
log.warn "detach_process is not supported in this version. ignored."
|
418
|
+
block.call
|
419
|
+
end
|
401
420
|
end
|
402
421
|
|
403
422
|
class ObjectBufferedOutput < Fluent::Plugin::Output
|
@@ -525,6 +544,16 @@ module Fluent
|
|
525
544
|
end
|
526
545
|
end
|
527
546
|
end
|
547
|
+
|
548
|
+
def detach_process(&block)
|
549
|
+
log.warn "detach_process is not supported in this version. ignored."
|
550
|
+
block.call
|
551
|
+
end
|
552
|
+
|
553
|
+
def detach_multi_process(&block)
|
554
|
+
log.warn "detach_process is not supported in this version. ignored."
|
555
|
+
block.call
|
556
|
+
end
|
528
557
|
end
|
529
558
|
|
530
559
|
class TimeSlicedOutput < Fluent::Plugin::Output
|
@@ -673,6 +702,16 @@ module Fluent
|
|
673
702
|
end
|
674
703
|
end
|
675
704
|
|
705
|
+
def detach_process(&block)
|
706
|
+
log.warn "detach_process is not supported in this version. ignored."
|
707
|
+
block.call
|
708
|
+
end
|
709
|
+
|
710
|
+
def detach_multi_process(&block)
|
711
|
+
log.warn "detach_process is not supported in this version. ignored."
|
712
|
+
block.call
|
713
|
+
end
|
714
|
+
|
676
715
|
# Original TimeSlicedOutput#emit doesn't call #format_stream
|
677
716
|
|
678
717
|
# #format MUST be implemented in plugin
|