fluent-plugin-sentry-ruby 0.3.2 → 0.4.1

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: 4418b05058672d2766e69e17dbd9bc40149e05d19428fced8c2b31b5a0b330d5
4
- data.tar.gz: 6e3cb4a26b182a9dbe567b0213deba689c2c997480243efa5d03111310a1c9ae
3
+ metadata.gz: 2202b09a6ed7cd295bf07da12b78e70a65dabcd62fc22c7a62b1ac674641f19c
4
+ data.tar.gz: 1ea2340586a004bbdfcdb3b7c30de104e66614b3eaad155b6b29cc6f51a04db0
5
5
  SHA512:
6
- metadata.gz: cdfe6dbe81b35df5b648c9c00730ecaad0b180c28d8e496e88b9cd7abacd87c388ea23cc041e7391fec7d0c7b7cd57073fe54ffea8ac59c9fcde7dfceb7e9cab
7
- data.tar.gz: c8fce2612bb83622fef2b652811665064bab56b6e5fabf79ff088aa8162035f9d6b98d54ee654edc69d0dedc845f05a4450c42269ace1da9898a08ca024d94d0
6
+ metadata.gz: 2cdf16fb6fe880df9353a2387908cf4b2fde472707d2d05b6230c7f971065798739b10e5078f139b175b9d0d9f7e2f0b12984e9d308378a70492146d77371906
7
+ data.tar.gz: 5c30a2f555842a3c76708953c81a8ad4ae7d1ea0c28e2ad5e52827ba006395b47cc89ba70e24a7a421bda9bdcca36b50b94270654fae20ca3c5442d2949f9844
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
1
  log
2
2
  pkg
3
3
  tmp
4
+ conf.d
4
5
  fluent.conf
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "fluent-plugin-sentry-ruby"
6
- spec.version = "0.3.2"
6
+ spec.version = "0.4.1"
7
7
  spec.authors = ["buffalo"]
8
8
  spec.email = ["buffalobigboy@gmail.com"]
9
9
 
@@ -7,7 +7,6 @@ module Fluent
7
7
  Fluent::Plugin.register_output("sentry", self)
8
8
 
9
9
  config_param :dsn, :string
10
- config_param :title, :string, :default => 'test'
11
10
  config_param :level, :enum, list: [:fatal, :error, :warning, :info, :debug], :default => 'info'
12
11
  config_param :environment, :string, :default => 'local'
13
12
  config_param :type, :enum, list: [:event, :exception], :default => :event
@@ -49,27 +48,53 @@ module Fluent
49
48
  event.environment = record['env'] || @environment
50
49
 
51
50
  if @type === :event
52
- event.message = record['message'] || @title
51
+ event.message = record['message'] || tag
53
52
  event.user = record.select{ |key| @user_keys.include?(key) }
54
- event.extra = @keys.length() > 0 ? record.select{ |key| @keys.include?(key) } : record
53
+ event.extra = @data_keys.length() > 0 ? record.select{ |key| @data_keys.include?(key) } : record
55
54
  event.contexts = {'data' => { origin_data: record }}
56
- event.tags = event.tags.merge({ :log_tag => tag })
57
- .merge({ :timestamp => Time.at(time).strftime('%Y-%m-%d %H:%M:%S') })
55
+ event.tags = event.tags.merge({ :timestamp => Time.at(time).strftime('%Y-%m-%d %H:%M:%S %Z') })
58
56
  .merge(record.select{ |key| (@tag_keys + @user_keys).include?(key) })
57
+ event = event.to_hash
58
+
59
+ event['logger'] = tag
59
60
  elsif @type === :exception
61
+ event.tags = { :timestamp => Time.at(time).strftime('%Y-%m-%d %H:%M:%S %Z') }
62
+ .merge(record.select{ |key| (@tag_keys + @user_keys).include?(key) })
63
+
60
64
  event = event.to_hash
65
+
66
+ event['logger'] = tag
67
+
68
+ frame = Array.new
69
+ if record.include?(@e_stack)
70
+ record[@e_stack].split("\n") do |value|
71
+ match = value.match(/\#(?<no>\d+) (?<filename>.*?)\((?<lineno>\d+)\): (?<context_line>[\s\S]+)/)
72
+ if match != nil
73
+ frame.unshift(Sentry::CustomStacktraceFrame.new(
74
+ filename: match[:filename],
75
+ context_line: match[:context_line],
76
+ pre_context: "//...\n",
77
+ post_context: "//...\n",
78
+ lineno: Integer(match[:lineno]),
79
+ ))
80
+ end
81
+ end
82
+ elsif
83
+ frame.push(Sentry::CustomStacktraceFrame.new(
84
+ filename: record.include?(@e_filename) ? record[@e_filename] : '',
85
+ context_line: record.include?(@e_describe) ? record[@e_describe] : '',
86
+ pre_context: "//...\n",
87
+ post_context: "//...\n",
88
+ lineno: record.include?(@e_line) ? Integer(record[@e_line]) : 1
89
+ ))
90
+ end
91
+
61
92
  event['exception'] = Sentry::CustomExceptionInterface.new(
62
- type: record['message'] || @title,
63
- message: (record[@e_describe] + (record[@e_line] ? (' on line:' + record[@e_line]) : '')) || '',
64
- stacktrace: Sentry::StacktraceInterface.new(frames: [Sentry::CustomStacktraceFrame.new(
65
- filename: record[@e_filename] || '',
66
- context_line: (record[@e_describe] + (record[@e_line] ? (' on line:' + record[@e_line]) : '')) || '',
67
- post_context: record[@e_stack] || (record[@e_describe] || ''),
68
- )])
93
+ type: record['message'] || '',
94
+ message: record.include?(@e_describe) ? record[@e_describe] : '',
95
+ stacktrace: Sentry::StacktraceInterface.new(frames: frame)
69
96
  ).to_hash
70
- event['tags'] = { :log_tag => tag }
71
- .merge({ :timestamp => Time.at(time).strftime('%d-%b-%Y %H:%M:%S %Z') })
72
- .merge(record.select{ |key| (@tag_keys + @user_keys).include?(key) })
97
+ event['message'] = record.include?(@e_describe) ? (record[@e_describe] + ' in ' + record[@e_filename] + ' on line ' + record[@e_line]) : ''
73
98
  end
74
99
 
75
100
  @client.send_event(event)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-sentry-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - buffalo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-24 00:00:00.000000000 Z
11
+ date: 2022-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler