fluent-format 0.2.6 → 0.3.0
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 +4 -4
- data/.travis.yml +1 -1
- data/CHANGELOG.md +6 -0
- data/README.md +8 -0
- data/lib/fluent/format.rb +3 -2
- data/lib/fluent/format/check.rb +2 -0
- data/lib/fluent/format/cli.rb +3 -1
- data/lib/fluent/format/format.rb +25 -35
- data/lib/fluent/format/version.rb +1 -1
- data/spec/fluent/format/cli_spec.rb +8 -8
- data/spec/spec_helper.rb +0 -5
- 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: f7af2e17ee19cfeb863500c8449b08c961fb4f7d
|
4
|
+
data.tar.gz: c1c85c00356df958e831957c843a526e22086db5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a72136527cd6c7bf6e9dfc05a5ae47964ba6c08ce868d54d69a234d029473c464c31802643d099c9aaacb048cf8e0cdeadc1c6630bf101c949349bc2ad623c26
|
7
|
+
data.tar.gz: 04881f4268b511155bd2bcbe9cae962c959edd4059f0f44439d13cb9a1e8bd53dd7b1d947de158b092411e67ccaf60535d75db7ce46ae6c444ea268c74cd09f3
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -47,6 +47,10 @@ Output Example:
|
|
47
47
|
</match>
|
48
48
|
```
|
49
49
|
|
50
|
+
See help for more options
|
51
|
+
|
52
|
+
$ fluent-format help format
|
53
|
+
|
50
54
|
### Check
|
51
55
|
|
52
56
|
$ fluent-format check -c fluent.conf -p plugin_dir
|
@@ -55,6 +59,10 @@ Output Example:
|
|
55
59
|
This returns the status code 0 if check passed,
|
56
60
|
and status code 1 with error messages if check failed.
|
57
61
|
|
62
|
+
See help for more options
|
63
|
+
|
64
|
+
$ fluent-format help check
|
65
|
+
|
58
66
|
## As a library
|
59
67
|
|
60
68
|
### Format
|
data/lib/fluent/format.rb
CHANGED
@@ -5,9 +5,10 @@ module Fluent
|
|
5
5
|
# Format config file
|
6
6
|
#
|
7
7
|
# @param [IO|String] config_dev
|
8
|
+
# @param [Hash] opts
|
8
9
|
# @return [String] the formatted config
|
9
|
-
def self.format(config_dev)
|
10
|
-
Fluent::Format::Format.new(config_dev).run
|
10
|
+
def self.format(config_dev, opts = {})
|
11
|
+
Fluent::Format::Format.new(config_dev, opts).run
|
11
12
|
end
|
12
13
|
|
13
14
|
# Check config file
|
data/lib/fluent/format/check.rb
CHANGED
@@ -19,6 +19,7 @@ module Fluent
|
|
19
19
|
:chgroup => nil,
|
20
20
|
:suppress_interval => 0,
|
21
21
|
:suppress_repeated_stacktrace => false,
|
22
|
+
:use_v1_config => true,
|
22
23
|
}
|
23
24
|
@opts[:plugin_dirs] += opts[:plugin_dirs] if opts[:plugin_dirs] and !opts[:plugin_dirs].empty?
|
24
25
|
@opts[:libs] += opts[:libs] if opts[:libs] and !opts[:libs].empty?
|
@@ -28,6 +29,7 @@ module Fluent
|
|
28
29
|
if config_dev.respond_to?(:read) # IO object
|
29
30
|
@opts[:config_path] = Tempfile.open('fluent-format') {|f| f.puts(config_dev.read); f.path }
|
30
31
|
end
|
32
|
+
@opts[:use_v1_config] = opts[:use_v1_config]
|
31
33
|
end
|
32
34
|
|
33
35
|
# Check config file
|
data/lib/fluent/format/cli.rb
CHANGED
@@ -7,9 +7,10 @@ module Fluent
|
|
7
7
|
default_command :format
|
8
8
|
desc "format", "Format fluent.conf"
|
9
9
|
option :config, :aliases => ["-c"], :type => :string, :default => 'fluent.conf', :desc => 'Fluentd configuration file'
|
10
|
+
option :use_v1_config, :type => :boolean, :default => false, :desc => 'use v1 config format'
|
10
11
|
def format
|
11
12
|
config = @options[:config]
|
12
|
-
taputs Fluent::Format.format(config)
|
13
|
+
taputs Fluent::Format.format(config, @options)
|
13
14
|
rescue => e
|
14
15
|
$stderr.puts "#{e.class} #{e.message} #{e.backtrace.first}"
|
15
16
|
exit 1
|
@@ -22,6 +23,7 @@ module Fluent
|
|
22
23
|
option :inline_config, :aliases => ["-i"], :type => :string, :desc => 'inline config which is appended to the config file on-fly'
|
23
24
|
option :gemfile, :aliases => ["-g"], :type => :string, :desc => 'Gemfile path'
|
24
25
|
option :gem_install_path, :aliases => ["-G"], :type => :string, :desc => 'Gem install path (default: $(dirname $gemfile)/vendor/bundle)'
|
26
|
+
option :use_v1_config, :type => :boolean, :default => false, :desc => 'use v1 config format'
|
25
27
|
def check
|
26
28
|
config = @options[:config]
|
27
29
|
Fluent::Format.check(config, @options)
|
data/lib/fluent/format/format.rb
CHANGED
@@ -3,18 +3,39 @@ module Fluent
|
|
3
3
|
class Format
|
4
4
|
# Initialize
|
5
5
|
#
|
6
|
-
# @param [IO|String]
|
7
|
-
def initialize(config_dev)
|
6
|
+
# @param [IO|String] config filename or IO Object
|
7
|
+
def initialize(config_dev, opts = {})
|
8
8
|
@config_dev = config_dev
|
9
|
+
@use_v1_config = opts[:use_v1_config]
|
9
10
|
end
|
10
11
|
|
11
12
|
# Format config
|
12
13
|
#
|
13
14
|
# @raise Fluent::ConfigParseError if conf has syntax errors
|
15
|
+
# @raise Fluent::ConfigError if plugin raises config error
|
14
16
|
# @return [String] the formatted config
|
15
17
|
def run
|
16
|
-
|
17
|
-
indent(
|
18
|
+
formatted = read(@config_dev, @use_v1_config)
|
19
|
+
indent(formatted)
|
20
|
+
end
|
21
|
+
|
22
|
+
# Read config (this does formatting)
|
23
|
+
#
|
24
|
+
# @param [IO|String] config_dev config filename or IO Object
|
25
|
+
# @raise Fluent::ConfigParseError if conf has syntax errors
|
26
|
+
# @raise Fluent::ConfigError if plugin raises config error
|
27
|
+
# @return [String] the formatted config
|
28
|
+
def read(config_dev, use_v1_config)
|
29
|
+
if config_dev.respond_to?(:read) # IO object
|
30
|
+
str = config_dev.read
|
31
|
+
fname = '-'
|
32
|
+
basename = '-'
|
33
|
+
else
|
34
|
+
str = File.read(config_dev)
|
35
|
+
fname = File.basename(config_dev)
|
36
|
+
basename = File.dirname(config_dev)
|
37
|
+
end
|
38
|
+
Fluent::Config.parse(str, fname, basename, use_v1_config)
|
18
39
|
end
|
19
40
|
|
20
41
|
private
|
@@ -28,34 +49,3 @@ module Fluent
|
|
28
49
|
end
|
29
50
|
end
|
30
51
|
end
|
31
|
-
|
32
|
-
# lib/fluent/config.rb
|
33
|
-
module Fluent
|
34
|
-
module ExtConfig
|
35
|
-
# Extended to accept IO object
|
36
|
-
#
|
37
|
-
# @raise Fluent::ConfigParseError if conf has syntax errors
|
38
|
-
# @raise Fluent::ConfigError if plugin raises config error
|
39
|
-
# @return [String] parsed config string
|
40
|
-
def self.read(dev)
|
41
|
-
if dev.respond_to?(:read) # IO object
|
42
|
-
parse(dev, '-', '-')
|
43
|
-
else
|
44
|
-
File.open(dev) {|io| parse(io, File.basename(dev), File.dirname(dev)) }
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
# Extended to accept config dsl
|
49
|
-
#
|
50
|
-
# @raise Fluent::ConfigParseError if conf has syntax errors
|
51
|
-
# @raise Fluent::ConfigError if plugin raises config error
|
52
|
-
# @return [String] parsed config string
|
53
|
-
def self.parse(io, fname, basepath=Dir.pwd)
|
54
|
-
if fname =~ /\.rb$/
|
55
|
-
Fluent::Config::DSL::Parser.parse(io, File.join(basepath, fname))
|
56
|
-
else
|
57
|
-
Fluent::Config.parse(io, fname, basepath)
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
@@ -20,13 +20,13 @@ describe Fluent::Format::CLI do
|
|
20
20
|
|
21
21
|
context "success" do
|
22
22
|
let(:opts) { {config: "fluent.conf"} }
|
23
|
-
it { capture_stderr { subject }.
|
23
|
+
it { expect(capture_stderr { subject }).to eq "" }
|
24
24
|
it { expect { subject }.not_to raise_error }
|
25
25
|
end
|
26
26
|
|
27
27
|
context "failure" do
|
28
28
|
let(:opts) { {config: "unknown.conf"} }
|
29
|
-
it { capture_stderr { subject }.
|
29
|
+
it { expect(capture_stderr { subject }).to include "No such file or directory" }
|
30
30
|
it { expect { subject }.to raise_error(SystemExit) }
|
31
31
|
end
|
32
32
|
end
|
@@ -36,38 +36,38 @@ describe Fluent::Format::CLI do
|
|
36
36
|
|
37
37
|
context "success" do
|
38
38
|
let(:opts) { {config: "fluent.conf"} }
|
39
|
-
it { capture_stderr { subject }.
|
39
|
+
it { expect(capture_stderr { subject }).to eq "" }
|
40
40
|
it { expect { subject }.not_to raise_error }
|
41
41
|
end
|
42
42
|
|
43
43
|
context "-p option" do
|
44
44
|
let(:opts) { {config: "fluent.conf", plugin_dirs: ["example"]} }
|
45
|
-
it { capture_stderr { subject }.
|
45
|
+
it { expect(capture_stderr { subject }).to eq "" }
|
46
46
|
it { expect { subject }.not_to raise_error }
|
47
47
|
end
|
48
48
|
|
49
49
|
context "-r option" do
|
50
50
|
let(:libs) { [File.expand_path('../../../example/out_example', File.dirname(__FILE__))] }
|
51
51
|
let(:opts) { {config: "fluent.conf", libs: libs } }
|
52
|
-
it { capture_stderr { subject }.
|
52
|
+
it { expect(capture_stderr { subject }).to eq "" }
|
53
53
|
it { expect { subject }.not_to raise_error }
|
54
54
|
end
|
55
55
|
|
56
56
|
context "syntax error" do
|
57
57
|
let(:opts) { {config: "example/syntax_error.conf"} }
|
58
|
-
it { capture_stderr { subject }.
|
58
|
+
it { expect(capture_stderr { subject }).to include("parse error") }
|
59
59
|
it { expect { subject }.to raise_error(SystemExit) }
|
60
60
|
end
|
61
61
|
|
62
62
|
context "plugin error" do
|
63
63
|
let(:opts) { {config: "example/plugin_error.conf"} }
|
64
|
-
it { capture_stderr { subject }.
|
64
|
+
it { expect(capture_stderr { subject }).to include("Unknown input plugin") }
|
65
65
|
it { expect { subject }.to raise_error(SystemExit) }
|
66
66
|
end
|
67
67
|
|
68
68
|
context "param error" do
|
69
69
|
let(:opts) { {config: "example/param_error.conf", plugin_dirs: ["example"]} }
|
70
|
-
it { capture_stderr { subject }.
|
70
|
+
it { expect(capture_stderr { subject }).to include("out_example.rb") }
|
71
71
|
it { expect { subject }.to raise_error(SystemExit) }
|
72
72
|
end
|
73
73
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -5,8 +5,3 @@ require 'fluent-format'
|
|
5
5
|
|
6
6
|
ROOT = File.dirname(__FILE__)
|
7
7
|
Dir[File.expand_path("support/**/*.rb", ROOT)].each {|f| require f }
|
8
|
-
|
9
|
-
RSpec.configure do |config|
|
10
|
-
config.treat_symbols_as_metadata_keys_with_true_values = true
|
11
|
-
config.run_all_when_everything_filtered = true
|
12
|
-
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-format
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Naotoshi Seo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|