You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[NO-TICKET] RFC: Add logger gem as dependency to prepare for future Ruby versions
**What does this PR do?**
This PR declares a dependency from the `datadog` gem to the `logger`
gem.
While every PR is an RFC, I explicitly marked this one as such since
adding a new dependency should never be done lightly.
**Motivation:**
This is needed to avoid a warning:
> lib/datadog/core/configuration/settings.rb:3: warning: logger was
> loaded from the standard library, but will no longer be part of the
> default gems starting from Ruby 3.5.0.
> You can add logger to your Gemfile or gemspec to silence this warning.
**Additional Notes:**
`logger` is just the latest in a long line of gems that have been
refactored out in this way. See
ruby/ruby@d7e558e
and https://stdgems.org/ (not yet updated for 3.5 as of this writing).
While in the past we've avoided adding extra dependencies due to this
extraction work, I think this one does make sense to add:
1. It's supported on every Ruby version we currently support (>= 2.5)
2. It's not a small amount of code to shed/rewrite. And on the other
side, I don't see a strong reason for embedding instead of depending
on it.
We're getting warnings for two more gems: `ostruct` and `benchmark`.
From our internal discussions, we can probably get rid of our usage
of them, rather than promote them to a dependency, so that's why I
did not touch those warnings in this PR.
**How to test the change?**
The following script can be used (on Ruby 3.4 and above) to trigger
the warning, and to confirm it's gone once `logger` is added as
a dependency:
```ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem 'datadog', path: '.'
end
puts RUBY_DESCRIPTION
require 'datadog'
puts Datadog::VERSION::STRING
```
Make sure to run with just `ruby example.rb` and not with
`bundle exec`.
0 commit comments