appsignal 3.3.10-java → 3.4.0-java

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.
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 => '../'