fluent-plugin-concat 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fluent-plugin-concat.gemspec +1 -1
- data/lib/fluent/plugin/filter_concat.rb +19 -12
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 513922bd28dc2cf029d6e5ef790c71a332abfa3b
|
4
|
+
data.tar.gz: d75f93313cb86329e5baf204f1fec4e3e0ae18ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 25563c71811242e4c34fa3f80e76dec201351d53506cc06091d4a5a2634829e48d1340eace8a6f2674fe9c82656ac8b595eb4214b83dd93c55a28be17b9fc3ad
|
7
|
+
data.tar.gz: bd3403a21a0902b985efdb2dede5bc5aa9cc2c3757dc68cd31ebdb311484570c18d315306c879e7b3dd47d5313ff763a0b9bcb514a5b225195c1df2914f077e4
|
@@ -10,11 +10,13 @@ module Fluent
|
|
10
10
|
config_param :n_lines, :integer, default: nil
|
11
11
|
desc "The regexp to match beginning of multiline"
|
12
12
|
config_param :multiline_start_regexp, :string, default: nil
|
13
|
+
desc "The key to determine which stream an event belongs to"
|
14
|
+
config_param :stream_identity_key, :string, default: nil
|
13
15
|
|
14
16
|
def initialize
|
15
17
|
super
|
16
18
|
|
17
|
-
@buffer = []
|
19
|
+
@buffer = Hash.new{|h, k| h[k] = [] }
|
18
20
|
end
|
19
21
|
|
20
22
|
def configure(conf)
|
@@ -53,21 +55,26 @@ module Fluent
|
|
53
55
|
private
|
54
56
|
|
55
57
|
def process(record)
|
58
|
+
if @stream_identity_key
|
59
|
+
stream_identity = record[@stream_identity_key]
|
60
|
+
else
|
61
|
+
stream_identity = "default"
|
62
|
+
end
|
56
63
|
case @mode
|
57
64
|
when :line
|
58
|
-
@buffer << record[@key]
|
59
|
-
if @n_lines && @buffer.size >= @n_lines
|
60
|
-
return flush_buffer
|
65
|
+
@buffer[stream_identity] << record[@key]
|
66
|
+
if @n_lines && @buffer[stream_identity].size >= @n_lines
|
67
|
+
return flush_buffer(stream_identity)
|
61
68
|
end
|
62
69
|
when :regexp
|
63
70
|
if firstline?(record[@key])
|
64
|
-
if @buffer.empty?
|
65
|
-
@buffer << record[@key]
|
71
|
+
if @buffer[stream_identity].empty?
|
72
|
+
@buffer[stream_identity] << record[@key]
|
66
73
|
else
|
67
|
-
return flush_buffer(record[@key])
|
74
|
+
return flush_buffer(stream_identity, record[@key])
|
68
75
|
end
|
69
76
|
else
|
70
|
-
@buffer << record[@key]
|
77
|
+
@buffer[stream_identity] << record[@key]
|
71
78
|
end
|
72
79
|
end
|
73
80
|
nil
|
@@ -77,11 +84,11 @@ module Fluent
|
|
77
84
|
!!@multiline_start_regexp.match(text)
|
78
85
|
end
|
79
86
|
|
80
|
-
def flush_buffer(new_message = nil)
|
87
|
+
def flush_buffer(stream_identity, new_message = nil)
|
81
88
|
new_record = {}
|
82
|
-
new_record[@key] = @buffer.join(@separator)
|
83
|
-
@buffer = []
|
84
|
-
@buffer << new_message if new_message
|
89
|
+
new_record[@key] = @buffer[stream_identity].join(@separator)
|
90
|
+
@buffer[stream_identity] = []
|
91
|
+
@buffer[stream_identity] << new_message if new_message
|
85
92
|
new_record
|
86
93
|
end
|
87
94
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-concat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kenji Okimoto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -102,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
102
|
version: '0'
|
103
103
|
requirements: []
|
104
104
|
rubyforge_project:
|
105
|
-
rubygems_version: 2.
|
105
|
+
rubygems_version: 2.6.2
|
106
106
|
signing_key:
|
107
107
|
specification_version: 4
|
108
108
|
summary: Fluentd Filter plugin to concat multiple event messages
|