rails/rails — pull request #8607 by senny (2012-12-25 14:56:27+00:00)
Title: ActiveSupport::BufferedLogger can be subclassed

Since `ActiveSupport::BufferedLogger` was deprecated, it's not possible to subclass it anymore. Creating a subclass fails with the following exception:

```
test_can_be_subclassed(BufferedLoggerTest):
TypeError: superclass must be a Class (ActiveSupport::Deprecation::DeprecatedConstantProxy given)
test/deprecation/buffered_logger_test.rb:11:in `initialize'
test/deprecation/buffered_logger_test.rb:11:in `new'
test/deprecation/buffered_logger_test.rb:11:in `test_can_be_subclassed'
```

This PR applies the same solution we used for `ActiveSupport::BasicObject` in #8518

There is a difference to `BasicObject`, which was only subclassed. There could be applications using BufferedLogger instances and I think this should also result in deprecation warnings. I'm not sure how `BufferedLogger` was used but I'll happily update the PR when we know what else we need to deprecate.

This is a fix for #8576