fluent-plugin-logentries 0.2.6 → 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e9dc127810fa3d5522616e3c205379f0ec0b3cd6
4
- data.tar.gz: 3ba77e7184f8399ef5fff37b45dd5383386c53e5
3
+ metadata.gz: 5beb1e38eb0e532236e6f2f436313c463acc3345
4
+ data.tar.gz: a7f2329cdaa95765e437d50ee809d3784f5da269
5
5
  SHA512:
6
- metadata.gz: aac5c28fd8e2a68e1eaf61ba4de4fe1f944e9154f1da081bd17ec9bd565096f6322b1100a36b1ad05da1bfbfe203904336e6db956149ac0eff5acde2e5c82696
7
- data.tar.gz: 589753d61522bed56175b889e89cccaff30db3dbba331a2cee12f09884c111f78c8a20f8d1b5e0639fdc396ef38279263196f2563297032ff24c1d8a07d1b8d9
6
+ metadata.gz: 5697474e7c8cc0687872c3ab9d944457e842f330826b9b09f979419d405a5e63477bdc3ed546f039227c68e8c3621c2973ae98ada074ec4dd04dc1f9f6eb7044
7
+ data.tar.gz: 930745d5d730c51de345847fd57570d926dfc5d8c38fef31ddc60d4b2c09302f9a52f416bf42decf6ee74ec8086dc1774629cfb70e4535d584d4857951e94afe
data/.gitignore CHANGED
@@ -3,6 +3,7 @@
3
3
  .bundle
4
4
  .config
5
5
  .yardoc
6
+ .DS_Store
6
7
  Gemfile.lock
7
8
  InstalledFiles
8
9
  _yardoc
data/README.md CHANGED
@@ -20,14 +20,14 @@ install with gem or fluent-gem command as:
20
20
  app: MY-LOGENTRIES-TOKEN
21
21
  access: ANOTHER-LOGENTRIES-TOKEN (*)
22
22
  error: ANOTHER-LOGENTRIES-TOKEN-1 (*)
23
- Foo:
23
+ Another-app:
24
24
  app: 2bfbea1e-10c3-4419-bdad-7e6435882e1f
25
25
  access: 5deab21c-04b1-9122-abdc-09adb2eda22 (*)
26
26
  error: 9acfbeba-c92c-1229-ccac-12c58d82ecc (*)
27
27
  ```
28
- (*) `access` and `error are optional, if you don't use multiple log per host just provide an app token.
28
+ (*) `access` and `error` are optional, if you don't use multiple log per host just provide an app token.
29
29
 
30
- This file is read everytime the buffer is flushed, it allows on fly modifications.
30
+ This file is read on changes, it allows on fly modifications.
31
31
  ## Usage
32
32
 
33
33
  ```
@@ -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.2.6"
7
+ spec.version = "0.2.8"
8
8
  spec.authors = ["Woorank"]
9
9
  spec.email = ["dev@woorank.com"]
10
10
  spec.summary = "Logentries output plugin for Fluent event collector"
@@ -2,7 +2,7 @@ require 'socket'
2
2
  require 'yaml'
3
3
  require 'openssl'
4
4
 
5
- class LogentriesOutput < Fluent::BufferedOutput
5
+ class Fluent::LogentriesOutput < Fluent::BufferedOutput
6
6
  class ConnectionFailure < StandardError; end
7
7
  # First, register the plugin. NAME is the name of this plugin
8
8
  # and identifies the plugin in the configuration file.
@@ -77,7 +77,7 @@ class LogentriesOutput < Fluent::BufferedOutput
77
77
 
78
78
  # Returns the correct token to use for a given tag / records
79
79
  def get_token(tag, record)
80
- app_name = record["app_name"] || record["message"]
80
+ app_name = record["app_name"] || ''
81
81
 
82
82
  # Config Structure
83
83
  # -----------------------
@@ -86,7 +86,7 @@ class LogentriesOutput < Fluent::BufferedOutput
86
86
  # access: TOKEN (optional)
87
87
  # error: TOKEN (optional)
88
88
  @tokens.each do |key, value|
89
- if tag.index(key) != nil || app_name.index(key) != nil
89
+ if tag.index(key) != nil || app_name == key
90
90
  default = value['app']
91
91
 
92
92
  case tag
@@ -118,14 +118,15 @@ class LogentriesOutput < Fluent::BufferedOutput
118
118
 
119
119
  # Clean up the string to avoid blank line in logentries
120
120
  message = record["message"].rstrip()
121
- send_logentries("#{token} #{message} \n")
121
+ send_logentries(token, message)
122
+
122
123
  end
123
124
  end
124
125
 
125
- def send_logentries(data)
126
+ def send_logentries(token, data)
126
127
  retries = 0
127
128
  begin
128
- client.write data
129
+ client.write("#{token} #{data} \n")
129
130
  rescue Errno::ECONNREFUSED, Errno::ETIMEDOUT => e
130
131
  if retries < @max_retries
131
132
  retries += 1
@@ -135,6 +136,12 @@ class LogentriesOutput < Fluent::BufferedOutput
135
136
  retry
136
137
  end
137
138
  raise ConnectionFailure, "Could not push logs to Logentries after #{retries} retries. #{e.message}"
139
+ rescue Errno::EMSGSIZE
140
+ str_length = data.length
141
+ send_logentries(token, data[0..str_length/2])
142
+ send_logentries(token, data[(str_length/2)+1..str_length])
143
+
144
+ log.warm "Message Too Long, re-sending it in two part..."
138
145
  end
139
146
  end
140
147
 
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.2.6
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Woorank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-06 00:00:00.000000000 Z
11
+ date: 2015-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler