fluent-plugin-sentry-ruby 0.3.2 → 0.4.1

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: 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