fluent-plugin-gelf-best 1.2.0 → 1.3.2

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
  SHA256:
3
- metadata.gz: d561e8e54966fefedb1bfcc2ba6a629d334d3514ed378ea3fe982903b9e6b098
4
- data.tar.gz: fc6f78f7a69a1b01d7046ea68c1e2334b9a8149a2c2436b938348303e318ac61
3
+ metadata.gz: 7327c66aa6fddfe60ed1448e76a59ecd906b458957758b748ee3162aefa85d0f
4
+ data.tar.gz: 2f5b1820ab88ce8665288b2e218e8be53aa274d5047e32cde33faaa5dad967c6
5
5
  SHA512:
6
- metadata.gz: 5dd171597df6672a52862682cbc7735998663cf29224f4c0059baae043a09f70d01ad9420875b0131779e817941a9506afae19d03ec8b91cc4591021b36656e9
7
- data.tar.gz: e63ccdd497c1fbf8bab67ed982b9e86e4f24eab987956151671c348ed19848de276603115aaf7444ce9b3ef88b4812dc0d20e84660325b266a6f821e84f63389
6
+ metadata.gz: 2735ce20d4dc4405d137405a30ec2c52dc83343fae9fdb7312f35e1b671546bd95ce0ab1c93648deaa1e0175fcedb79df739596aaedb27e767135695169a1ec5
7
+ data.tar.gz: 4add4d31fc40b78c7ff70450b556749e755f0fa6072e62a24160c4afa8ae63f09f4a46c2e2a7d26e876bb9379b65264787da37a603aa807e5dd0489c092416af
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.add_runtime_dependency "fluentd", ">=1.0.0"
21
21
  spec.add_runtime_dependency "gelf", ">= 2.0.0"
22
+ spec.add_development_dependency "oj", "~> 3.3.10"
22
23
  spec.add_development_dependency "test-unit"
23
24
  spec.add_development_dependency "rake"
24
25
  end
@@ -1,24 +1,26 @@
1
+ require 'oj'
2
+ require 'date'
3
+ require 'gelf'
4
+
1
5
  module Fluent
2
6
  module GelfPluginUtil
3
- require 'gelf'
4
7
 
5
8
  LEVEL_MAP = {
6
- "0" => GELF::UNKNOWN, "1" => GELF::UNKNOWN, "a" => GELF::UNKNOWN,
7
- "2" => GELF::FATAL, "c" => GELF::FATAL,
8
- "3" => GELF::ERROR,
9
- "4" => GELF::WARN, "w" => GELF::WARN,
10
- "5" => GELF::INFO, "n" => GELF::INFO,
11
- "6" => GELF::INFO, "i" => GELF::INFO,
12
- "7" => GELF::DEBUG, "d" => GELF::DEBUG,
13
- "e" => GELF::ERROR # assuming 'e' stands typically for 'error'
14
- }
9
+ '0' => GELF::UNKNOWN, '1' => GELF::UNKNOWN, 'a' => GELF::UNKNOWN,
10
+ '2' => GELF::FATAL, 'c' => GELF::FATAL,
11
+ '3' => GELF::ERROR,
12
+ '4' => GELF::WARN, 'w' => GELF::WARN,
13
+ '5' => GELF::INFO, 'n' => GELF::INFO,
14
+ '6' => GELF::INFO, 'i' => GELF::INFO,
15
+ '7' => GELF::DEBUG, 'd' => GELF::DEBUG,
16
+ 'e' => GELF::ERROR
17
+ }.freeze
15
18
 
16
19
  def make_gelfentry(tag, time, record, conf = {})
17
- gelfentry = {"_fluentd_tag" => tag}
18
- gelfentry["timestamp"] = calculate_timestamp(time)
20
+ gelfentry = {"_fluentd_tag" => tag, "timestamp" => calculate_timestamp(time)}
19
21
 
20
- record.each_pair do |k, v|
21
- gelfentry.merge!(process_record_entry(k, v, conf, gelfentry))
22
+ record.each do |k, v|
23
+ process_record_entry(k, v, conf, gelfentry)
22
24
  end
23
25
 
24
26
  ensure_short_message(gelfentry)
@@ -38,43 +40,29 @@ module Fluent
38
40
  def process_record_entry(k, v, conf, gelfentry)
39
41
  case k
40
42
  when 'host', 'hostname'
41
- return {'host' => (conf[:use_record_host] ? v : gelfentry['_host'] = v)}
43
+ gelfentry['host'] = conf[:use_record_host] ? v : (gelfentry['_host'] = v)
42
44
  when 'timestamp', 'time'
43
- { 'timestamp' => parse_timestamp(v) }
45
+ gelfentry['timestamp'] = parse_timestamp(v)
44
46
  when 'level'
45
- {'level' => LEVEL_MAP[v.to_s.downcase[0]] || (v.to_s.length >= 2 && v.to_s.downcase[1] != "r" ? GELF::UNKNOWN : v)}
47
+ gelfentry['level'] = LEVEL_MAP[v.to_s.downcase[0]] || GELF::UNKNOWN
46
48
  when 'msec'
47
- conf[:add_msec_time] ? {'timestamp' => "#{time.to_s}.#{v}".to_f} : {'_msec' => v}
49
+ gelfentry['timestamp'] = conf[:add_msec_time] ? "#{time.to_s}.#{v}".to_f : (gelfentry['_msec'] = v)
48
50
  when 'short_message', 'version', 'full_message', 'facility', 'file', 'line'
49
- {k => v}
51
+ gelfentry[k] = v
50
52
  else
51
- {k.start_with?('_') ? k : "_#{k}" => v}
53
+ gelfentry[k.start_with?('_') ? k : "_#{k}"] = v
52
54
  end
53
55
  end
54
56
 
55
57
  def parse_timestamp(v)
56
- if v.is_a?(Integer) || v.is_a?(Float)
57
- v
58
- else
59
- begin
60
- (DateTime.parse(v).strftime("%Q").to_f / 1_000).round(3)
61
- rescue ArgumentError
62
- v
63
- end
64
- end
58
+ return v if v.is_a?(Integer) || v.is_a?(Float)
59
+
60
+ DateTime.parse(v).strftime("%Q").to_f / 1_000 rescue v
65
61
  end
66
62
 
67
63
  def ensure_short_message(gelfentry)
68
- return if gelfentry['short_message'] && !gelfentry['short_message'].to_s.strip.empty?
69
-
70
- ['_message', '_msg', '_log', '_record'].each do |key|
71
- if gelfentry[key] && !gelfentry[key].to_s.strip.empty?
72
- gelfentry['short_message'] = gelfentry.delete(key)
73
- return
74
- end
75
- end
76
-
77
- gelfentry['short_message'] = '(no message)' unless gelfentry['short_message']
64
+ default_key = ['_message', '_msg', '_log', '_record'].find { |key| gelfentry[key]&.strip&.empty? == false }
65
+ gelfentry['short_message'] = default_key ? gelfentry.delete(default_key) : '(no message)'
78
66
  end
79
67
  end
80
68
  end
@@ -1,3 +1,3 @@
1
1
  module FluentPluginGelfBest
2
- VERSION = "1.2.0"
2
+ VERSION = "1.3.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-gelf-best
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Yamauchi
@@ -40,6 +40,20 @@ dependencies:
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
42
  version: 2.0.0
43
+ - !ruby/object:Gem::Dependency
44
+ name: oj
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: 3.3.10
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: 3.3.10
43
57
  - !ruby/object:Gem::Dependency
44
58
  name: test-unit
45
59
  requirement: !ruby/object:Gem::Requirement