Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[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`.
- Loading branch information