fluent-plugin-logentries 0.0.1 → 0.0.4

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: bc7d878212d636572f1c76d4aae79ad361d58c05
4
- data.tar.gz: ea5d2e2687d9cd3a0d968614788e5c7748fd50c5
3
+ metadata.gz: a5f759b0770dd1199f13f790a4126cc58122da38
4
+ data.tar.gz: aa0ae2f4c53dcff7689f088740a8dc20f8398e64
5
5
  SHA512:
6
- metadata.gz: 517c31c09547f44230438b99dab4f37c91116f21ae715720bc49cd89d2278e87f760ddc812d6afa16e8f6aa6403cf3fefd934b2d46fe332168c7c127dd81a660
7
- data.tar.gz: f3b58edcdcff62fa381dfa766ef7e7508ea101f2c7b46a0f16b69c69b768b2ff3bca55fb922541543eb1366b9427f8f3bd7119c0d8be195a3e3bcd11173b845a
6
+ metadata.gz: 7ed23880d05afe47319e0efb17c75b4056402deb337d7c6be210692a97a06a9fcdaf01dbf7b1fac90be0f28c6131001d5a55d3fb11fdb319769b60b5d3c811cc
7
+ data.tar.gz: 01f32fef24d176376ab066149f7ceaae00829ee60fa0ffa686693b61fe2718354363af32fc01f23f83a2c4bdddf7c0ebf8c5a77016198f84574b9a001b9eb56c
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "fluent-plugin-logentries"
7
- spec.version = "0.0.1"
7
+ spec.version = "0.0.4"
8
8
  spec.authors = ["Woorank"]
9
9
  spec.email = ["dev@woorank.com"]
10
10
  spec.summary = "Logentries output plugin for Fluent event collector"
@@ -8,24 +8,13 @@ class LogentriesOutput < Fluent::BufferedOutput
8
8
 
9
9
  config_param :host, :string
10
10
  config_param :port, :integer, :default => 80
11
- config_param :tokens, :string
11
+ config_param :path, :string
12
12
 
13
13
  def configure(conf)
14
14
  super
15
15
  @port = conf['port']
16
16
  @host = conf['host']
17
- @tokens = parse_tokens(conf['tokens'])
18
- end
19
-
20
- def parse_tokens(list)
21
- tokens_list = {}
22
-
23
- list.split(',').each do |host|
24
- key, token = host.split(':');
25
- tokens_list[key] = token
26
- end
27
-
28
- tokens_list
17
+ @path = conf['path']
29
18
  end
30
19
 
31
20
  def start
@@ -42,8 +31,25 @@ class LogentriesOutput < Fluent::BufferedOutput
42
31
  @_socket ||= TCPSocket.new @host, @port
43
32
  end
44
33
 
45
- def get_token(tag)
46
- @tokens.each do |key, value|
34
+ # This method is called when an event reaches to Fluentd.
35
+ def format(tag, time, record)
36
+ return [tag, record].to_msgpack
37
+ end
38
+
39
+ # Scan a given directory for host tokens
40
+ def generate_token(path)
41
+ tokens = {}
42
+
43
+ Dir[path << "*.token"].each do |file|
44
+ key = File.basename(file, ".token") #remove path/extension from filename
45
+ tokens[key] = File.open(file, &:readline).gsub(/\r\n|\r|\n/, '') #read the first line and close it
46
+ end
47
+ tokens
48
+ end
49
+
50
+ # returns the correct token to use for a given tag
51
+ def get_token(tag, tokens)
52
+ tokens.each do |key, value|
47
53
  if tag.index(key) != nil then
48
54
  return value
49
55
  end
@@ -52,16 +58,14 @@ class LogentriesOutput < Fluent::BufferedOutput
52
58
  return nil
53
59
  end
54
60
 
55
- # This method is called when an event reaches to Fluentd.
56
- def format(tag, time, record)
57
- token = get_token(tag)
58
- return [token, record].to_msgpack
59
- end
60
-
61
61
  # NOTE! This method is called by internal thread, not Fluentd's main thread. So IO wait doesn't affect other plugins.
62
62
  def write(chunk)
63
- chunk.msgpack_each do |token, record|
63
+ tokens = generate_token(@path)
64
+
65
+ chunk.msgpack_each do |tag, record|
64
66
  next unless record.is_a? Hash
67
+
68
+ token = get_token(tag, tokens)
65
69
  next if token.nil?
66
70
 
67
71
  if record.has_key?("message")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-logentries
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Woorank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-23 00:00:00.000000000 Z
11
+ date: 2014-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler