We attempt to override Logger#level in Rails’s Logger subclass to allow setting a different level per thread (and thus per request). But Logger#add checks the new message’s severity against the @level instance variable, so overriding #level doesn’t have the intended effect. (Because we prepend a check against #level to #add, you can only set the thread-local level greater than or equal to @level, not less. We’d like to allow setting any thread-local level.)
This patch modifies Logger#add to check #level so that third-party loggers can customize how the current level is determined without needing to reimplement #add or juggle multiple underlying Logger instances.
This is my first Ruby patch. I wasn’t sure whether to submit it here or ruby/logger on GitHub. I’m sorry if this isn’t the right place.
This is my first Ruby patch. I wasn’t sure whether to submit it here or ruby/logger on GitHub.
I’m sorry if this isn’t the right place.
Although lots of people work via/through GitHub, including some core team members, this here
is still the official bugtracker, so don't worry, it's the right place. I guess someone from
the core team has to review the patch before it can be added.
For feature requests and bug reports for Ruby itself, it's best to open an issue on this bug tracker, but for feature requests and bug fixes in one of the gems that ship with Ruby (including default gems that ship with Ruby and are in stdlib), it's probably best to submit a pull request/issue directly to the upstream project on GitHub.
For feature requests and bug reports for Ruby itself, it's best to open an issue on this bug tracker, but for feature requests and bug fixes in one of the gems that ship with Ruby (including default gems that ship with Ruby and are in stdlib), it's probably best to submit a pull request/issue directly to the upstream project on GitHub.