fluent-plugin-gelf-best 1.3.2 → 1.3.3

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: 7327c66aa6fddfe60ed1448e76a59ecd906b458957758b748ee3162aefa85d0f
4
- data.tar.gz: 2f5b1820ab88ce8665288b2e218e8be53aa274d5047e32cde33faaa5dad967c6
3
+ metadata.gz: dc3a134e34dfdc0c22a93f90ca53b655bbb9133f787726adb478ffdb6b74bba3
4
+ data.tar.gz: f65ca691ac9b2e7046878b1b8b6315a21c6a3d575408ece21aff885c0f3c3add
5
5
  SHA512:
6
- metadata.gz: 2735ce20d4dc4405d137405a30ec2c52dc83343fae9fdb7312f35e1b671546bd95ce0ab1c93648deaa1e0175fcedb79df739596aaedb27e767135695169a1ec5
7
- data.tar.gz: 4add4d31fc40b78c7ff70450b556749e755f0fa6072e62a24160c4afa8ae63f09f4a46c2e2a7d26e876bb9379b65264787da37a603aa807e5dd0489c092416af
6
+ metadata.gz: f2adf1721b08d85f7a191d7121eb0a0190aee674f70159c828a475a4f717a90594307e116b1a88212d0095c9b546d48134c596e7fb186f6dba9cc0476905e616
7
+ data.tar.gz: 7bca600938707cda06ce79d798d11dd3dd3756ee7a0a3016b2770aa9a63d1133f0a7bcb745d8e14699d6503099cced2d6ff2a63b008731e8aa8a4fc3b6a652a4
@@ -19,7 +19,6 @@ 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"
23
22
  spec.add_development_dependency "test-unit"
24
23
  spec.add_development_dependency "rake"
25
24
  end
@@ -1,26 +1,24 @@
1
- require 'oj'
2
- require 'date'
3
- require 'gelf'
4
-
5
1
  module Fluent
6
2
  module GelfPluginUtil
3
+ require "gelf"
4
+ require "date"
7
5
 
8
6
  LEVEL_MAP = {
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
7
+ "0" => GELF::UNKNOWN, "1" => GELF::UNKNOWN, "a" => GELF::UNKNOWN,
8
+ "2" => GELF::FATAL, "c" => GELF::FATAL,
9
+ "3" => GELF::ERROR,
10
+ "4" => GELF::WARN, "w" => GELF::WARN,
11
+ "5" => GELF::INFO, "n" => GELF::INFO,
12
+ "6" => GELF::INFO, "i" => GELF::INFO,
13
+ "7" => GELF::DEBUG, "d" => GELF::DEBUG,
14
+ "e" => GELF::ERROR # assuming 'e' stands typically for 'error'
17
15
  }.freeze
18
16
 
19
17
  def make_gelfentry(tag, time, record, conf = {})
20
- gelfentry = {"_fluentd_tag" => tag, "timestamp" => calculate_timestamp(time)}
18
+ gelfentry = {'_fluentd_tag' => tag, 'timestamp' => calculate_timestamp(time)}
21
19
 
22
- record.each do |k, v|
23
- process_record_entry(k, v, conf, gelfentry)
20
+ record.each_pair do |k, v|
21
+ gelfentry.merge!(process_record_entry(k, v, conf, gelfentry))
24
22
  end
25
23
 
26
24
  ensure_short_message(gelfentry)
@@ -40,29 +38,43 @@ module Fluent
40
38
  def process_record_entry(k, v, conf, gelfentry)
41
39
  case k
42
40
  when 'host', 'hostname'
43
- gelfentry['host'] = conf[:use_record_host] ? v : (gelfentry['_host'] = v)
41
+ return {'host' => (conf[:use_record_host] ? v : gelfentry['_host'] = v)}
44
42
  when 'timestamp', 'time'
45
- gelfentry['timestamp'] = parse_timestamp(v)
43
+ { 'timestamp' => parse_timestamp(v) }
46
44
  when 'level'
47
- gelfentry['level'] = LEVEL_MAP[v.to_s.downcase[0]] || GELF::UNKNOWN
45
+ {'level' => LEVEL_MAP[v.to_s.downcase[0]] || (v.to_s.length >= 2 && v.to_s.downcase[1] != "r" ? GELF::UNKNOWN : v)}
48
46
  when 'msec'
49
- gelfentry['timestamp'] = conf[:add_msec_time] ? "#{time.to_s}.#{v}".to_f : (gelfentry['_msec'] = v)
47
+ conf[:add_msec_time] ? {'timestamp' => "#{time.to_s}.#{v}".to_f} : {'_msec' => v}
50
48
  when 'short_message', 'version', 'full_message', 'facility', 'file', 'line'
51
- gelfentry[k] = v
49
+ {k => v}
52
50
  else
53
- gelfentry[k.start_with?('_') ? k : "_#{k}"] = v
51
+ {k.start_with?('_') ? k : "_#{k}" => v}
54
52
  end
55
53
  end
56
54
 
57
55
  def parse_timestamp(v)
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
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
61
65
  end
62
66
 
63
67
  def ensure_short_message(gelfentry)
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)'
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']
66
78
  end
67
79
  end
68
80
  end
@@ -1,3 +1,3 @@
1
1
  module FluentPluginGelfBest
2
- VERSION = "1.3.2"
2
+ VERSION = "1.3.3"
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.3.2
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Yamauchi
@@ -40,20 +40,6 @@ 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
57
43
  - !ruby/object:Gem::Dependency
58
44
  name: test-unit
59
45
  requirement: !ruby/object:Gem::Requirement