fluent-plugin-map 0.0.1 → 0.0.2

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.
@@ -3,10 +3,10 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "fluent-plugin-map"
6
- s.version = "0.0.1"
6
+ s.version = "0.0.2"
7
7
  s.authors = ["Kohei Tomita"]
8
8
  s.email = ["tommy.fmale@gmail.com"]
9
- s.homepage = ""
9
+ s.homepage = "https://github.com/tomity/fluent-plugin-map"
10
10
  s.summary = %q{fluent-plugin-map is the non-buffered plugin that can convert an event log to different event log(s). }
11
11
  s.description = %q{fluent-plugin-map is the non-buffered plugin that can convert an event log to different event log(s). }
12
12
 
@@ -17,8 +17,6 @@ Gem::Specification.new do |s|
17
17
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
18
  s.require_paths = ["lib"]
19
19
 
20
- # specify any dependencies here; for example:
21
- s.add_development_dependency "rake"
22
- s.add_development_dependency "fluentd"
23
- # s.add_runtime_dependency "rest-client"
20
+ s.add_development_dependency "rake", "~> 0.9.2.2"
21
+ s.add_development_dependency "fluentd", "~> 0.10.24"
24
22
  end
@@ -12,21 +12,30 @@ module Fluent
12
12
  end
13
13
 
14
14
  def emit(tag, es, chain)
15
- tuples = []
16
- es.each {|time, record|
17
- new_tuple = eval(@map)
18
- if @multi
19
- tuples.concat new_tuple
20
- else
21
- tuples << new_tuple
15
+ begin
16
+ tuples = []
17
+ es.each {|time, record|
18
+ new_tuple = eval(@map)
19
+ if @multi
20
+ tuples.concat new_tuple
21
+ else
22
+ tuples << new_tuple
23
+ end
24
+ }
25
+ tuples.each do |tag, time, record|
26
+ if time == nil or record == nil
27
+ raise SyntaxError.new
28
+ end
29
+ $log.trace { [tag, time, record].inspect }
30
+ Fluent::Engine::emit(tag, time, record)
22
31
  end
23
- }
24
- tuples.each do |tag, time, record|
25
- $log.trace { [tag, time, record].inspect }
26
- Fluent::Engine::emit(tag, time, record)
32
+ chain.next
33
+ tuples
34
+ rescue SyntaxError => e
35
+ chain.next
36
+ $log.error "Select_if command is syntax error: #{@map}"
37
+ e #for test
27
38
  end
28
- chain.next
29
- tuples
30
39
  end
31
40
  end
32
41
  end
@@ -47,4 +47,36 @@ class MapOutputTest < Test::Unit::TestCase
47
47
  assert_equal ["tag1", time.to_i, record], emits[0]
48
48
  assert_equal ["tag2", time.to_i, record], emits[1]
49
49
  end
50
+
51
+ def test_syntax_error
52
+ tag = "tag"
53
+ time = Time.local(2012, 10, 10, 10, 10, 0)
54
+ record = {'code' => '300'}
55
+
56
+ #map is syntax error
57
+ syntax_error_config = %[
58
+ map tag.
59
+ ]
60
+ d1 = create_driver(syntax_error_config, tag)
61
+ es = Fluent::OneEventStream.new(time.to_i, record)
62
+ chain = Fluent::Test::TestOutputChain.new
63
+ e = d1.instance.emit(tag, es, chain)
64
+ assert e.kind_of?(SyntaxError)
65
+ end
66
+
67
+ def test_syntax_error2
68
+ tag = "tag"
69
+ time = Time.local(2012, 10, 10, 10, 10, 0)
70
+ record = {'code' => '300'}
71
+
72
+ #map output lligal format
73
+ syntax_error_config = %[
74
+ map tag
75
+ ]
76
+ d1 = create_driver(syntax_error_config, tag)
77
+ es = Fluent::OneEventStream.new(time.to_i, record)
78
+ chain = Fluent::Test::TestOutputChain.new
79
+ e = d1.instance.emit(tag, es, chain)
80
+ assert e.kind_of?(SyntaxError)
81
+ end
50
82
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-map
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,30 +9,30 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-10 00:00:00.000000000Z
12
+ date: 2012-07-13 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70350721521500 !ruby/object:Gem::Requirement
16
+ requirement: &70329973241780 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: 0.9.2.2
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70350721521500
24
+ version_requirements: *70329973241780
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: fluentd
27
- requirement: &70350721520660 !ruby/object:Gem::Requirement
27
+ requirement: &70329973241200 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
- - - ! '>='
30
+ - - ~>
31
31
  - !ruby/object:Gem::Version
32
- version: '0'
32
+ version: 0.10.24
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70350721520660
35
+ version_requirements: *70329973241200
36
36
  description: ! 'fluent-plugin-map is the non-buffered plugin that can convert an event
37
37
  log to different event log(s). '
38
38
  email:
@@ -49,7 +49,7 @@ files:
49
49
  - lib/fluent/plugin/out_map.rb
50
50
  - test/helper.rb
51
51
  - test/plugin/test_out_map.rb
52
- homepage: ''
52
+ homepage: https://github.com/tomity/fluent-plugin-map
53
53
  licenses: []
54
54
  post_install_message:
55
55
  rdoc_options: []