appsignal 3.3.10-java → 3.4.0-java

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # AppSignal for Ruby gem Changelog
2
2
 
3
+ ## 3.4.0
4
+
5
+ ### Deprecated
6
+
7
+ - [6f9b7a4d](https://github.com/appsignal/appsignal-ruby/commit/6f9b7a4d12c6ff3353359cb37c5c02af8bbc6ec6) minor - Remove support for Ruby versions in that are end of life, following our [maintenance policy](https://docs.appsignal.com/support/maintenance-policy.html). Please upgrade your Ruby version to a supported version before upgrading AppSignal.
8
+
9
+ ### Fixed
10
+
11
+ - [5b7735ac](https://github.com/appsignal/appsignal-ruby/commit/5b7735ac5868b0fbf9727922a32ca4645d4e2fdd) patch - Fix Logger add method signature error
12
+
3
13
  ## 3.3.10
4
14
 
5
15
  ### Fixed
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source "https://rubygems.org"
2
4
 
3
5
  gemspec
data/appsignal.gemspec CHANGED
@@ -1,4 +1,6 @@
1
- require File.expand_path("../lib/appsignal/version", __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ require File.expand_path("lib/appsignal/version", __dir__)
2
4
 
3
5
  Gem::Specification.new do |gem| # rubocop:disable Metrics/BlockLength
4
6
  gem.authors = [
@@ -19,50 +21,28 @@ Gem::Specification.new do |gem| # rubocop:disable Metrics/BlockLength
19
21
  gem.name = "appsignal"
20
22
  gem.require_paths = %w[lib ext]
21
23
  gem.version = Appsignal::VERSION
22
- gem.required_ruby_version = ">= 2.0"
24
+ gem.required_ruby_version = ">= 3.0"
23
25
  # Default extension installer. Overridden by JRuby gemspec as defined in
24
26
  # `Rakefile`.
25
27
  gem.extensions = %w[ext/extconf.rb]
26
28
 
27
29
  gem.metadata = {
28
30
  "rubygems_mfa_required" => "true",
29
- "bug_tracker_uri" => "https://github.com/appsignal/appsignal-ruby/issues",
30
- "changelog_uri" =>
31
+ "bug_tracker_uri" => "https://github.com/appsignal/appsignal-ruby/issues",
32
+ "changelog_uri" =>
31
33
  "https://github.com/appsignal/appsignal-ruby/blob/main/CHANGELOG.md",
32
34
  "documentation_uri" => "https://docs.appsignal.com/ruby/",
33
- "homepage_uri" => "https://docs.appsignal.com/ruby/",
34
- "source_code_uri" => "https://github.com/appsignal/appsignal-ruby"
35
+ "homepage_uri" => "https://docs.appsignal.com/ruby/",
36
+ "source_code_uri" => "https://github.com/appsignal/appsignal-ruby"
35
37
  }
36
38
 
37
39
  gem.add_dependency "rack"
38
40
 
41
+ gem.add_development_dependency "pry"
39
42
  gem.add_development_dependency "rake", ">= 12"
40
43
  gem.add_development_dependency "rspec", "~> 3.8"
44
+ gem.add_development_dependency "rubocop"
41
45
  gem.add_development_dependency "timecop"
46
+ gem.add_development_dependency "webmock"
42
47
  gem.add_development_dependency "yard", ">= 0.9.20"
43
- gem.add_development_dependency "pry"
44
-
45
- # Dependencies that need to be locked to a specific version in developement
46
- ruby_version = Gem::Version.new(RUBY_VERSION)
47
- if ruby_version < Gem::Version.new("2.3.0")
48
- gem.add_development_dependency "webmock", "3.14.0"
49
- else
50
- gem.add_development_dependency "webmock"
51
- end
52
- if ruby_version > Gem::Version.new("2.5.0")
53
- # RuboCop dependency parallel depends on Ruby > 2.4
54
- gem.add_development_dependency "rubocop", "0.50.0"
55
- end
56
- if ruby_version < Gem::Version.new("2.1.0")
57
- # Newer versions of rexml use keyword arguments with optional arguments which
58
- # work in Ruby 2.1 and newer.
59
- gem.add_development_dependency "rexml", "3.2.4"
60
- end
61
- if ruby_version < Gem::Version.new("2.1.0")
62
- # public_suffix 3.0 and newer don't support Ruby < 2.1
63
- gem.add_development_dependency "public_suffix", "~> 2.0.5"
64
- elsif ruby_version < Gem::Version.new("2.3.0")
65
- # public_suffix 4.0 and newer don't support Ruby < 2.3
66
- gem.add_development_dependency "public_suffix", "~> 3.1.1"
67
- end
68
48
  end
data/build_matrix.yml CHANGED
@@ -61,7 +61,7 @@ semaphore: # Default `.semaphore/semaphore.yml` contents
61
61
  - name: Validate CI setup
62
62
  env_vars:
63
63
  - name: RUBY_VERSION
64
- value: 2.6.9
64
+ value: 3.2.2
65
65
  - name: GEMSET
66
66
  value: no_dependencies
67
67
  - name: BUNDLE_GEMFILE
@@ -85,7 +85,7 @@ semaphore: # Default `.semaphore/semaphore.yml` contents
85
85
  - name: RuboCop
86
86
  env_vars:
87
87
  - name: RUBY_VERSION
88
- value: 2.6.9
88
+ value: 3.2.2
89
89
  - name: GEMSET
90
90
  value: no_dependencies
91
91
  - name: BUNDLE_GEMFILE
@@ -165,45 +165,16 @@ matrix:
165
165
  gemsets: # By default all gems are tested
166
166
  none:
167
167
  - "no_dependencies"
168
- old_rails:
169
- - "no_dependencies"
170
- - "rails-3.2"
171
- - "rails-4.2"
172
168
  minimal:
173
169
  - "no_dependencies"
174
- - "rails-5.2"
175
170
  - "rails-6.0"
176
171
  - "rails-6.1"
177
172
  - "rails-7.0"
178
173
 
179
174
  ruby:
180
- - ruby: "2.0.0-p648"
181
- rubygems: "2.7.8"
182
- bundler: "1.17.3"
183
- gems: "old_rails"
184
- - ruby: "2.1.10"
185
- rubygems: "2.7.8"
186
- bundler: "1.17.3"
187
- gems: "none"
188
- - ruby: "2.2.10"
189
- rubygems: "2.7.8"
190
- bundler: "1.17.3"
191
- gems: "none"
192
- - ruby: "2.3.8"
193
- gems: "none"
194
- rubygems: "3.3.26"
195
- bundler: "2.3.26"
196
- - ruby: "2.4.10"
197
- gems: "none"
198
- - ruby: "2.5.8"
199
- gems: "minimal"
200
- - ruby: "2.6.9"
201
- - ruby: "2.7.7"
202
175
  - ruby: "3.0.5"
203
176
  - ruby: "3.1.3"
204
177
  - ruby: "3.2.1"
205
- - ruby: "jruby-9.3.9.0"
206
- gems: "minimal"
207
178
  - ruby: "jruby-9.4.0.0"
208
179
  gems: "minimal"
209
180
  gems:
@@ -233,74 +204,14 @@ matrix:
233
204
  - "3.2.1"
234
205
  - gem: "que"
235
206
  - gem: "que_beta"
236
- - gem: "rails-3.2"
237
- bundler: "1.17.3"
238
- only:
239
- ruby:
240
- - "2.0.0-p648"
241
- - "2.1.10"
242
- - "2.2.10"
243
- - "2.3.8"
244
- - "2.4.10"
245
- - "2.5.8"
246
- - gem: "rails-4.2"
247
- bundler: "1.17.3"
248
- only:
249
- ruby:
250
- - "2.0.0-p648"
251
- - "2.1.10"
252
- - "2.2.10"
253
- - "2.3.8"
254
- - "2.4.10"
255
- - "2.5.8"
256
- - gem: "rails-5.0"
257
- only:
258
- ruby:
259
- - "2.0.0-p648"
260
- - "2.1.10"
261
- - "2.2.10"
262
- - "2.3.8"
263
- - "2.4.10"
264
- - "2.5.8"
265
- - "2.6.9"
266
- - "2.7.7"
267
- - gem: "rails-5.1"
268
- only:
269
- ruby:
270
- - "2.0.0-p648"
271
- - "2.1.10"
272
- - "2.2.10"
273
- - "2.3.8"
274
- - "2.4.10"
275
- - "2.5.8"
276
- - "2.6.9"
277
- - "2.7.7"
278
- - gem: "rails-5.2"
279
- only:
280
- ruby:
281
- - "2.0.0-p648"
282
- - "2.1.10"
283
- - "2.2.10"
284
- - "2.3.8"
285
- - "2.4.10"
286
- - "2.5.8"
287
- - "2.6.9"
288
- - "2.7.7"
289
- - "jruby-9.3.9.0"
290
207
  - gem: "rails-6.0"
291
208
  only:
292
209
  ruby:
293
- - "2.5.8"
294
- - "2.6.9"
295
- - "2.7.7"
296
210
  - "3.0.5"
297
211
  - "jruby-9.4.0.0"
298
212
  - gem: "rails-6.1"
299
213
  only:
300
214
  ruby:
301
- - "2.5.8"
302
- - "2.6.9"
303
- - "2.7.7"
304
215
  - "3.0.5"
305
216
  - "3.1.3"
306
217
  - "3.2.1"
@@ -308,36 +219,11 @@ matrix:
308
219
  - gem: "rails-7.0"
309
220
  only:
310
221
  ruby:
311
- - "2.7.7"
312
222
  - "3.0.5"
313
223
  - "3.1.3"
314
224
  - "3.2.1"
315
225
  - "jruby-9.4.0.0"
316
- - gem: "resque-1"
317
- bundler: "1.17.3"
318
- only:
319
- ruby:
320
- - "2.0.0-p648"
321
- - "2.1.10"
322
- - "2.2.10"
323
- - "2.3.8"
324
- - "2.4.10"
325
- - "2.5.8"
326
- - "2.6.9"
327
- - "2.7.7"
328
- - gem: "resque-2"
329
226
  - gem: "sequel"
330
- - gem: "sequel-435"
331
- only:
332
- ruby:
333
- - "2.0.0-p648"
334
- - "2.1.10"
335
- - "2.2.10"
336
- - "2.3.8"
337
- - "2.4.10"
338
- - "2.5.8"
339
- - "2.6.9"
340
- - "2.7.7"
341
227
  - gem: "sinatra"
342
228
  - gem: "webmachine1"
343
229
  - gem: "webmachine2"
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "logger"
4
4
  require "set"
5
+ require "thread"
5
6
 
6
7
  module Appsignal
7
8
  # Logger that flushes logs to the AppSignal logging service
@@ -27,12 +28,13 @@ module Appsignal
27
28
  @group = group
28
29
  @level = level
29
30
  @format = format
31
+ @mutex = Mutex.new
30
32
  end
31
33
 
32
34
  # We support the various methods in the Ruby
33
35
  # logger class by supplying this method.
34
36
  # @api private
35
- def add(severity, message = nil, group = nil, attributes = {})
37
+ def add(severity, message = nil, group = nil)
36
38
  severity ||= UNKNOWN
37
39
  return true if severity < level
38
40
  group = @group if group.nil?
@@ -52,7 +54,7 @@ module Appsignal
52
54
  SEVERITY_MAP.fetch(severity, 0),
53
55
  @format,
54
56
  message,
55
- Appsignal::Utils::Data.generate(attributes)
57
+ Appsignal::Utils::Data.generate(appsignal_attributes)
56
58
  )
57
59
  end
58
60
  alias log add
@@ -65,7 +67,7 @@ module Appsignal
65
67
  return if DEBUG < level
66
68
  message = yield if message.nil? && block_given?
67
69
  return if message.nil?
68
- add(DEBUG, message, @group, attributes)
70
+ add_with_attributes(DEBUG, message, @group, attributes)
69
71
  end
70
72
 
71
73
  # Log an info level message
@@ -76,7 +78,7 @@ module Appsignal
76
78
  return if INFO < level
77
79
  message = yield if message.nil? && block_given?
78
80
  return if message.nil?
79
- add(INFO, message, @group, attributes)
81
+ add_with_attributes(INFO, message, @group, attributes)
80
82
  end
81
83
 
82
84
  # Log a warn level message
@@ -87,7 +89,7 @@ module Appsignal
87
89
  return if WARN < level
88
90
  message = yield if message.nil? && block_given?
89
91
  return if message.nil?
90
- add(WARN, message, @group, attributes)
92
+ add_with_attributes(WARN, message, @group, attributes)
91
93
  end
92
94
 
93
95
  # Log an error level message
@@ -98,7 +100,7 @@ module Appsignal
98
100
  return if ERROR < level
99
101
  message = yield if message.nil? && block_given?
100
102
  return if message.nil?
101
- add(ERROR, message, @group, attributes)
103
+ add_with_attributes(ERROR, message, @group, attributes)
102
104
  end
103
105
 
104
106
  # Log a fatal level message
@@ -109,7 +111,20 @@ module Appsignal
109
111
  return if FATAL < level
110
112
  message = yield if message.nil? && block_given?
111
113
  return if message.nil?
112
- add(FATAL, message, @group, attributes)
114
+ add_with_attributes(FATAL, message, @group, attributes)
115
+ end
116
+
117
+ private
118
+
119
+ def add_with_attributes(severity, message, group, attributes)
120
+ Thread.current[:appsignal_logger_attributes] = attributes
121
+ add(severity, message, group)
122
+ ensure
123
+ Thread.current[:appsignal_logger_attributes] = nil
124
+ end
125
+
126
+ def appsignal_attributes
127
+ Thread.current.fetch(:appsignal_logger_attributes, {})
113
128
  end
114
129
  end
115
130
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Appsignal
4
- VERSION = "3.3.10".freeze
4
+ VERSION = "3.4.0".freeze
5
5
  end
@@ -76,13 +76,15 @@ describe Appsignal::Logger do
76
76
  ].each do |method|
77
77
  describe "##{method[0]}" do
78
78
  it "should log with a message" do
79
+ # rubocop:disable Style/BracesAroundHashParameters
79
80
  expect(Appsignal::Utils::Data).to receive(:generate)
80
- .with({})
81
+ .with({ :attribute => "value" })
81
82
  .and_call_original
83
+ # rubocop:enable Style/BracesAroundHashParameters
82
84
  expect(Appsignal::Extension).to receive(:log)
83
85
  .with("group", method[1], 0, "Log message", instance_of(Appsignal::Extension::Data))
84
86
 
85
- logger.send(method[0], "Log message")
87
+ logger.send(method[0], "Log message", :attribute => "value")
86
88
  end
87
89
 
88
90
  it "should log with a block" do
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appsignal
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.10
4
+ version: 3.4.0
5
5
  platform: java
6
6
  authors:
7
7
  - Robert Beekman
8
8
  - Thijs Cadier
9
9
  - Tom de Bruijn
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-04-03 00:00:00.000000000 Z
13
+ date: 2023-04-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rack
@@ -26,6 +26,20 @@ dependencies:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
28
  version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: pry
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
29
43
  - !ruby/object:Gem::Dependency
30
44
  name: rake
31
45
  requirement: !ruby/object:Gem::Requirement
@@ -55,7 +69,7 @@ dependencies:
55
69
  - !ruby/object:Gem::Version
56
70
  version: '3.8'
57
71
  - !ruby/object:Gem::Dependency
58
- name: timecop
72
+ name: rubocop
59
73
  requirement: !ruby/object:Gem::Requirement
60
74
  requirements:
61
75
  - - ">="
@@ -69,21 +83,7 @@ dependencies:
69
83
  - !ruby/object:Gem::Version
70
84
  version: '0'
71
85
  - !ruby/object:Gem::Dependency
72
- name: yard
73
- requirement: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- version: 0.9.20
78
- type: :development
79
- prerelease: false
80
- version_requirements: !ruby/object:Gem::Requirement
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: 0.9.20
85
- - !ruby/object:Gem::Dependency
86
- name: pry
86
+ name: timecop
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - ">="
@@ -111,19 +111,19 @@ dependencies:
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  - !ruby/object:Gem::Dependency
114
- name: rubocop
114
+ name: yard
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - '='
117
+ - - ">="
118
118
  - !ruby/object:Gem::Version
119
- version: 0.50.0
119
+ version: 0.9.20
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
- - - '='
124
+ - - ">="
125
125
  - !ruby/object:Gem::Version
126
- version: 0.50.0
126
+ version: 0.9.20
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: ffi
129
129
  requirement: !ruby/object:Gem::Requirement
@@ -183,17 +183,10 @@ files:
183
183
  - gemfiles/psych-4.gemfile
184
184
  - gemfiles/que.gemfile
185
185
  - gemfiles/que_beta.gemfile
186
- - gemfiles/rails-3.2.gemfile
187
- - gemfiles/rails-4.2.gemfile
188
- - gemfiles/rails-5.0.gemfile
189
- - gemfiles/rails-5.1.gemfile
190
- - gemfiles/rails-5.2.gemfile
191
186
  - gemfiles/rails-6.0.gemfile
192
187
  - gemfiles/rails-6.1.gemfile
193
188
  - gemfiles/rails-7.0.gemfile
194
- - gemfiles/resque-1.gemfile
195
189
  - gemfiles/resque-2.gemfile
196
- - gemfiles/sequel-435.gemfile
197
190
  - gemfiles/sequel.gemfile
198
191
  - gemfiles/sinatra.gemfile
199
192
  - gemfiles/webmachine1.gemfile
@@ -443,7 +436,7 @@ metadata:
443
436
  documentation_uri: https://docs.appsignal.com/ruby/
444
437
  homepage_uri: https://docs.appsignal.com/ruby/
445
438
  source_code_uri: https://github.com/appsignal/appsignal-ruby
446
- post_install_message:
439
+ post_install_message:
447
440
  rdoc_options: []
448
441
  require_paths:
449
442
  - lib
@@ -452,15 +445,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
452
445
  requirements:
453
446
  - - ">="
454
447
  - !ruby/object:Gem::Version
455
- version: '2.0'
448
+ version: '3.0'
456
449
  required_rubygems_version: !ruby/object:Gem::Requirement
457
450
  requirements:
458
451
  - - ">="
459
452
  - !ruby/object:Gem::Version
460
453
  version: '0'
461
454
  requirements: []
462
- rubygems_version: 3.1.4
463
- signing_key:
455
+ rubygems_version: 3.4.10
456
+ signing_key:
464
457
  specification_version: 4
465
458
  summary: Logs performance and exception data from your app to appsignal.com
466
459
  test_files:
@@ -1,8 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '~> 3.2.14'
4
- gem 'test-unit'
5
-
6
- gem "rack-cache", "~> 1.9.0"
7
-
8
- gemspec :path => '../'
@@ -1,23 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '~> 4.2.0'
4
- gem 'mime-types', '~> 2.6'
5
-
6
- ruby_version = Gem::Version.new(RUBY_VERSION)
7
- if ruby_version < Gem::Version.new("2.3.0")
8
- gem "sidekiq", "~> 4.0"
9
- else
10
- gem "sidekiq"
11
- end
12
-
13
- if ruby_version < Gem::Version.new("2.1.0")
14
- gem 'nokogiri', '~> 1.6.0'
15
- end
16
- if ruby_version < Gem::Version.new("2.5.0")
17
- gem 'sprockets', '~> 3.7.2'
18
- end
19
-
20
- gem "minitest", "5.12.0"
21
- gem "connection_pool", "2.2.3"
22
-
23
- gemspec :path => '../'
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '~> 5.0.0'
4
- gem "sidekiq"
5
-
6
- gemspec :path => '../'
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '~> 5.1.0'
4
- gem "sidekiq"
5
-
6
- gemspec :path => '../'
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'rails', '~> 5.2.0'
4
- gem "sidekiq"
5
-
6
- gemspec :path => '../'
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'resque', "~> 1.27.0"
4
- gem 'sinatra'
5
- gem 'mime-types', '~> 2.6'
6
-
7
- gemspec :path => '../'
@@ -1,10 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'sequel', '~> 4.35'
4
- if RUBY_PLATFORM == "java"
5
- gem 'jdbc-sqlite3'
6
- else
7
- gem 'sqlite3'
8
- end
9
-
10
- gemspec :path => '../'