fluent-plugin-forest 0.3.0 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 05ff9d75e8864a29e9ae2c43cdff96a137e53062
4
- data.tar.gz: f75361da08c4990575e0e8938df23c36f0b64465
3
+ metadata.gz: 713656d5a6d91a7d692f3027032eb4bfabb38a35
4
+ data.tar.gz: 7ec3aa61c288b897b637ada4de5453cb67671d8e
5
5
  SHA512:
6
- metadata.gz: a6b921ca4e6b17126bcf80988eea42a541ec9cb15dcdfd1fe079a9bc0f5f674b6b2b074ff2b1abd7f75362661475f7a5037799fa08b9735a5e2491989b13ffb2
7
- data.tar.gz: 7925733f1ce183561d5d4f67ec291c8dfda7e0a024a95fb941ba12cd6cdc19fb28b8d202f9c752d0adcb5178d5a6d0f9196aaba40e079d7c4e3b80decc6bb78e
6
+ metadata.gz: da758cc90d2f132b293c415c1107e52e2b8b9534059eb50e1f3d731dd6810598aa491f87bc3482b13656125399c52b1c4e5e3b3a20bda0d358d6569535158998
7
+ data.tar.gz: 0da6213cf2fe98d140bb8c2c872c95b98dab99c9f58fac0496ceb19f3ac6b47f707a8ddf3e4407ddf40f8508de7cb8bd95a3ec9d4658d83a930b5a85a4c899cf
@@ -1,4 +1,8 @@
1
1
  language: ruby
2
+ sudo: false
2
3
  rvm:
3
- - 1.9.3
4
- - 2.0.0
4
+ - 2.1
5
+ - 2.2
6
+ - 2.3.0
7
+ before_install:
8
+ - gem update bundler
data/README.md CHANGED
@@ -7,7 +7,7 @@ This is a plugin for [Fluentd](http://fluentd.org).
7
7
  ### ForestOutput
8
8
 
9
9
  ForestOutput creates sub plugin instance of a output plugin dynamically per tag, from template configurations.
10
- In template configurations, you can write configuration lines for overall tags by <template>, and for specified tags by <case TAG_PATTERN>, and you can use \_\_TAG\_\_ (or ${tag}) placeholder at anywhere in <template> and <case>.
10
+ In template configurations, you can write configuration lines for overall tags by `<template>`, and for specified tags by `<case TAG_PATTERN>`, and you can use \_\_TAG\_\_ (or ${tag}) placeholder at anywhere in `<template>` and `<case>`.
11
11
 
12
12
  This plugin helps you if you are writing very long configurations by copy&paste with a little little diff for many tags.
13
13
 
@@ -31,27 +31,27 @@ You SHOULD NOT use ForestOutput for tags increasing infinitly.
31
31
  If you are writing long long configurations like below:
32
32
 
33
33
  <match service.blog>
34
- type file
34
+ @type file
35
35
  time_slice_format %Y%m%d%H
36
- compress yes
36
+ compress gz
37
37
  path /var/log/blog.*.log
38
38
  </match>
39
39
  <match service.portal>
40
- type file
40
+ @type file
41
41
  time_slice_format %Y%m%d%H
42
- compress yes
42
+ compress gz
43
43
  path /var/log/portal.*.log
44
44
  </match>
45
45
  <match service.news>
46
- type file
46
+ @type file
47
47
  time_slice_format %Y%m%d%H
48
- compress yes
48
+ compress gz
49
49
  path /var/log/news.*.log
50
50
  </match>
51
51
  <match service.sns>
52
- type file
52
+ @type file
53
53
  time_slice_format %Y%m%d%H
54
- compress yes
54
+ compress gz
55
55
  path /var/log/sns.*.log
56
56
  </match>
57
57
  # ...
@@ -59,12 +59,12 @@ If you are writing long long configurations like below:
59
59
  You can write configuration with ForestOutput like below:
60
60
 
61
61
  <match service.*>
62
- type forest
62
+ @type forest
63
63
  subtype file
64
64
  remove_prefix service
65
65
  <template>
66
66
  time_slice_format %Y%m%d%H
67
- compress yes
67
+ compress gz
68
68
  path /var/log/${tag}.*.log
69
69
  </template>
70
70
  </match>
@@ -72,18 +72,17 @@ You can write configuration with ForestOutput like below:
72
72
  If you want to place logs /var/archive for `service.search.**` as filename with hostname, without compression, `case` directive is useful:
73
73
 
74
74
  <match service.*>
75
- type forest
75
+ @type forest
76
76
  subtype file
77
77
  remove_prefix service
78
78
  <template>
79
79
  time_slice_format %Y%m%d%H
80
80
  </template>
81
81
  <case search.**>
82
- compress no
83
82
  path /var/archive/__TAG__.__HOSTNAME__.*.log
84
83
  </case>
85
84
  <case *>
86
- compress yes
85
+ compress gz
87
86
  path /var/log/__TAG__.*.log
88
87
  </case>
89
88
  </match>
@@ -91,16 +90,15 @@ If you want to place logs /var/archive for `service.search.**` as filename with
91
90
  `case` configuration overwrites `template` configuration, so you can also write like this:
92
91
 
93
92
  <match service.*>
94
- type forest
93
+ @type forest
95
94
  subtype file
96
95
  remove_prefix service
97
96
  <template>
98
97
  time_slice_format %Y%m%d%H
99
- compress yes
98
+ compress gz
100
99
  path /var/log/__TAG__.*.log
101
100
  </template>
102
101
  <case search.**>
103
- compress no
104
102
  path /var/archive/__TAG__.*.log
105
103
  </case>
106
104
  </match>
@@ -108,21 +106,21 @@ If you want to place logs /var/archive for `service.search.**` as filename with
108
106
  Version 0.2.0 or later, subsections adding/overwriting are supported. About the case below, three `<store>` subsections are defined for `search.**` pattern.
109
107
 
110
108
  <match service.*>
111
- type forest
109
+ @type forest
112
110
  subtype copy
113
111
  <template>
114
112
  <store>
115
- type file
113
+ @type file
116
114
  path /path/to/copy1
117
115
  </store>
118
116
  <store>
119
- type file
117
+ @type file
120
118
  path /path/to/copy2
121
119
  </store>
122
120
  </template>
123
121
  <case search.**>
124
122
  <store>
125
- type file
123
+ @type file
126
124
  path /path/to/copy3
127
125
  </store>
128
126
  </case>
@@ -131,7 +129,7 @@ Version 0.2.0 or later, subsections adding/overwriting are supported. About the
131
129
  Subsections with same arguments will be overwritten. See this example:
132
130
 
133
131
  <match service.*>
134
- type forest
132
+ @type forest
135
133
  subtype route
136
134
  <template>
137
135
  <route {search,admin}.a>
@@ -0,0 +1,11 @@
1
+ <source>
2
+ @type forward
3
+ </source>
4
+
5
+ <match test.*>
6
+ @type forest
7
+ subtype stdout
8
+ <template>
9
+ output_type ltsv
10
+ </template>
11
+ </match>
@@ -1,13 +1,13 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  Gem::Specification.new do |gem|
3
3
  gem.name = "fluent-plugin-forest"
4
- gem.version = "0.3.0"
4
+ gem.version = "0.3.1"
5
5
  gem.authors = ["TAGOMORI Satoshi"]
6
6
  gem.email = ["tagomoris@gmail.com"]
7
7
  gem.description = %q{create sub-plugin dynamically per tags, with template configuration and parameters}
8
8
  gem.summary = %q{plugin to create output plugin instances per tags dynamically}
9
9
  gem.homepage = "https://github.com/tagomoris/fluent-plugin-forest"
10
- gem.license = "APLv2"
10
+ gem.license = "Apache-2.0"
11
11
 
12
12
  gem.files = `git ls-files`.split($\)
13
13
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -15,5 +15,6 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
 
17
17
  gem.add_development_dependency "rake"
18
+ gem.add_development_dependency "test-unit", "~> 3.1.7"
18
19
  gem.add_runtime_dependency "fluentd"
19
20
  end
@@ -141,7 +141,7 @@ class Fluent::ForestOutput < Fluent::MultiOutput
141
141
  log.error e.backtrace.join("\n")
142
142
  log.error "Cannot output messages with tag '#{tag}'"
143
143
  output = nil
144
- rescue StandardError => e
144
+ rescue StandardError, ScriptError => e
145
145
  log.error "failed to configure/start sub output #{@subtype}: #{e.message}"
146
146
  log.error e.backtrace.join("\n")
147
147
  log.error "Cannot output messages with tag '#{tag}'"
@@ -168,7 +168,11 @@ class Fluent::ForestOutput < Fluent::MultiOutput
168
168
  output = plant(tag)
169
169
  end
170
170
  if output
171
- output.emit(tag, es, chain)
171
+ if output.respond_to?(:emit_events)
172
+ output.emit_events(tag, es)
173
+ else
174
+ output.emit(tag, es, chain)
175
+ end
172
176
  else
173
177
  chain.next
174
178
  end
@@ -36,7 +36,7 @@ class Fluent::ForestTestOutput < Fluent::Output
36
36
  if @tagfield
37
37
  r[@tagfield] = tag
38
38
  end
39
- Fluent::Engine.emit(@tag, time, r)
39
+ router.emit(@tag, time, r)
40
40
  }
41
41
  chain.next
42
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-forest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
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-08-10 00:00:00.000000000 Z
11
+ date: 2016-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: test-unit
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 3.1.7
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 3.1.7
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: fluentd
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +66,7 @@ files:
52
66
  - LICENSE.txt
53
67
  - README.md
54
68
  - Rakefile
69
+ - example/sample.conf
55
70
  - fluent-plugin-forest.gemspec
56
71
  - lib/fluent/plugin/out_forest.rb
57
72
  - test/helper.rb
@@ -60,7 +75,7 @@ files:
60
75
  - test/plugin/test_out_forest_test.rb
61
76
  homepage: https://github.com/tagomoris/fluent-plugin-forest
62
77
  licenses:
63
- - APLv2
78
+ - Apache-2.0
64
79
  metadata: {}
65
80
  post_install_message:
66
81
  rdoc_options: []
@@ -78,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
93
  version: '0'
79
94
  requirements: []
80
95
  rubyforge_project:
81
- rubygems_version: 2.2.2
96
+ rubygems_version: 2.5.1
82
97
  signing_key:
83
98
  specification_version: 4
84
99
  summary: plugin to create output plugin instances per tags dynamically