fluent-plugin-tail-ex 0.1.0 → 0.1.1
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.
- data/fluent-plugin-tail-ex.gemspec +1 -1
- data/lib/fluent/plugin/in_tail_ex.rb +13 -1
- data/test/plugin/test_in_tail_ex.rb +18 -1
- metadata +45 -15
@@ -13,7 +13,7 @@ Gem::Specification.new do |gem|
|
|
13
13
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
14
|
gem.name = "fluent-plugin-tail-ex"
|
15
15
|
gem.require_paths = ["lib"]
|
16
|
-
gem.version = "0.1.
|
16
|
+
gem.version = "0.1.1"
|
17
17
|
|
18
18
|
requires = ['fluentd', 'fluent-mixin-config-placeholders']
|
19
19
|
requires.each {|name| gem.add_runtime_dependency name}
|
@@ -13,6 +13,7 @@ module Fluent
|
|
13
13
|
|
14
14
|
def initialize
|
15
15
|
super
|
16
|
+
@ready = false
|
16
17
|
end
|
17
18
|
|
18
19
|
def configure(conf)
|
@@ -84,9 +85,13 @@ module Fluent
|
|
84
85
|
end
|
85
86
|
|
86
87
|
def start
|
87
|
-
@
|
88
|
+
paths, @paths = @paths, []
|
89
|
+
super
|
90
|
+
@thread.join
|
91
|
+
@paths = paths
|
88
92
|
refresh_watchers
|
89
93
|
@refresh_trigger.attach(@loop)
|
94
|
+
@ready = true
|
90
95
|
@thread = Thread.new(&method(:run))
|
91
96
|
end
|
92
97
|
|
@@ -98,6 +103,13 @@ module Fluent
|
|
98
103
|
@pf_file.close if @pf_file
|
99
104
|
end
|
100
105
|
|
106
|
+
def run
|
107
|
+
# don't run unless ready to avoid coolio error
|
108
|
+
if @ready
|
109
|
+
super
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
101
113
|
class TailExWatcher < TailWatcher
|
102
114
|
def initialize(path, rotate_wait, pe, &receive_lines)
|
103
115
|
@parent_receive_lines = receive_lines
|
@@ -9,7 +9,7 @@ class TailExInputTest < Test::Unit::TestCase
|
|
9
9
|
tag tail_ex
|
10
10
|
path test/plugin/*/%Y/%m/%Y%m%d-%H%M%S.log,test/plugin/data/log/**/*.log
|
11
11
|
format /^(?<message>.*)$/
|
12
|
-
pos_file
|
12
|
+
pos_file test-pos-file
|
13
13
|
refresh_interval 30
|
14
14
|
]
|
15
15
|
PATHS = [
|
@@ -26,6 +26,23 @@ refresh_interval 30
|
|
26
26
|
assert_nothing_raised { create_driver }
|
27
27
|
end
|
28
28
|
|
29
|
+
def test_posfile_creation
|
30
|
+
flexstub(Thread) do |threadclass|
|
31
|
+
threadclass.should_receive(:new).once.and_return do
|
32
|
+
flexmock('Thread') {|t| t.should_receive(:join).once }
|
33
|
+
end
|
34
|
+
threadclass.should_receive(:new).once
|
35
|
+
|
36
|
+
plugin = create_driver.instance
|
37
|
+
plugin.start
|
38
|
+
pf = nil
|
39
|
+
plugin.instance_eval do
|
40
|
+
pf = @pf
|
41
|
+
end
|
42
|
+
assert_instance_of Fluent::TailInput::PositionFile, pf
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
29
46
|
def test_expand_paths
|
30
47
|
plugin = create_driver.instance
|
31
48
|
flexstub(Time) do |timeclass|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-tail-ex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-11-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fluentd
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: fluent-mixin-config-placeholders
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: fluentd
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: fluent-mixin-config-placeholders
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: rake
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: flexmock
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,7 +101,12 @@ dependencies:
|
|
76
101
|
version: '0'
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
80
110
|
description: Extended tail input plugin
|
81
111
|
email:
|
82
112
|
- yt.hisa@gmail.com
|
@@ -120,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
150
|
version: '0'
|
121
151
|
requirements: []
|
122
152
|
rubyforge_project:
|
123
|
-
rubygems_version: 1.8.
|
153
|
+
rubygems_version: 1.8.23
|
124
154
|
signing_key:
|
125
155
|
specification_version: 3
|
126
156
|
summary: Extended tail input plugin
|