fluent-plugin-gelf-best 1.2.0 → 1.3.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.
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