fluent-plugin-parser 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fluent-plugin-parser.gemspec +1 -1
- data/lib/fluent/plugin/fixed_parser.rb +24 -9
- data/test/plugin/test_out_parser.rb +22 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2326d0682f48ee2aa993c41114c4b6135cf610e5
|
4
|
+
data.tar.gz: aa40d1f259c0781492004e21a79c64118d5ae2cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10d523349d0c40468ce83b886e74bcbb2d89d3138cf36d09858c3302d398d67b0114e8b1693407b8fcc774ea9b2114d3b94cc8d560fcd4045a885f62f15d598b
|
7
|
+
data.tar.gz: cc0a2694b738d268faff7bdf3d7da786da0ffd785662ff130da252aa18b3c1cf0e6931b5417dae4047cae5ef5ee34b60163fbf6da26f505f60a6acbb2543aa3f
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
Gem::Specification.new do |gem|
|
3
3
|
gem.name = "fluent-plugin-parser"
|
4
|
-
gem.version = "0.3.
|
4
|
+
gem.version = "0.3.3"
|
5
5
|
gem.authors = ["TAGOMORI Satoshi"]
|
6
6
|
gem.email = ["tagomoris@gmail.com"]
|
7
7
|
gem.description = %q{fluentd plugin to parse single field, or to combine log structure into single field}
|
@@ -11,6 +11,11 @@ class FluentExt::TextParser
|
|
11
11
|
config_param :time_format, :string, :default => nil
|
12
12
|
config_param :time_parse, :bool, :default => true
|
13
13
|
|
14
|
+
@cache1_key = nil
|
15
|
+
@cache1_time = nil
|
16
|
+
@cache2_key = nil
|
17
|
+
@cache2_time = nil
|
18
|
+
|
14
19
|
def parse_time(record)
|
15
20
|
time = nil
|
16
21
|
|
@@ -19,15 +24,25 @@ class FluentExt::TextParser
|
|
19
24
|
end
|
20
25
|
|
21
26
|
if value = record.delete(@time_key)
|
22
|
-
|
23
|
-
time =
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
if @cache1_key == value
|
28
|
+
time = @cache1_time
|
29
|
+
elsif @cache2_key == value
|
30
|
+
time = @cache2_time
|
31
|
+
else
|
32
|
+
begin
|
33
|
+
time = if @time_format
|
34
|
+
Time.strptime(value, @time_format).to_i
|
35
|
+
else
|
36
|
+
Time.parse(value).to_i
|
37
|
+
end
|
38
|
+
@cache1_key = @cache2_key
|
39
|
+
@cache1_time = @cache2_time
|
40
|
+
@cache2_key = value
|
41
|
+
@cache2_time = time
|
42
|
+
rescue TypeError, ArgumentError => e
|
43
|
+
$log.warn "Failed to parse time", :key => @time_key, :value => value
|
44
|
+
record[@time_key] = value
|
45
|
+
end
|
31
46
|
end
|
32
47
|
end
|
33
48
|
|
@@ -112,9 +112,12 @@ class ParserOutputTest < Test::Unit::TestCase
|
|
112
112
|
d1.run do
|
113
113
|
d1.emit({'message' => '12 20120402182059'}, time)
|
114
114
|
d1.emit({'message' => '34 20120402182100'}, time)
|
115
|
+
d1.emit({'message' => '56 20120402182100'}, time)
|
116
|
+
d1.emit({'message' => '78 20120402182101'}, time)
|
117
|
+
d1.emit({'message' => '90 20120402182100'}, time)
|
115
118
|
end
|
116
119
|
emits = d1.emits
|
117
|
-
assert_equal
|
120
|
+
assert_equal 5, emits.length
|
118
121
|
|
119
122
|
first = emits[0]
|
120
123
|
assert_equal 'parsed.in', first[0]
|
@@ -129,6 +132,24 @@ class ParserOutputTest < Test::Unit::TestCase
|
|
129
132
|
assert_equal '3', second[2]['x']
|
130
133
|
assert_equal '4', second[2]['y']
|
131
134
|
|
135
|
+
third = emits[2]
|
136
|
+
assert_equal 'parsed.in', third[0]
|
137
|
+
assert_equal Time.parse("2012-04-02 18:21:00").to_i, third[1]
|
138
|
+
assert_equal '5', third[2]['x']
|
139
|
+
assert_equal '6', third[2]['y']
|
140
|
+
|
141
|
+
fourth = emits[3]
|
142
|
+
assert_equal 'parsed.in', fourth[0]
|
143
|
+
assert_equal Time.parse("2012-04-02 18:21:01").to_i, fourth[1]
|
144
|
+
assert_equal '7', fourth[2]['x']
|
145
|
+
assert_equal '8', fourth[2]['y']
|
146
|
+
|
147
|
+
fifth = emits[4]
|
148
|
+
assert_equal 'parsed.in', fifth[0]
|
149
|
+
assert_equal Time.parse("2012-04-02 18:21:00").to_i, fifth[1]
|
150
|
+
assert_equal '9', fifth[2]['x']
|
151
|
+
assert_equal '0', fifth[2]['y']
|
152
|
+
|
132
153
|
d2 = create_driver(%[
|
133
154
|
tag parsed
|
134
155
|
key_name data
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TAGOMORI Satoshi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-04-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|