I found this old thread: How to set logging level for Rails Engines - Engines - Ruby-Forum
One commentator says:
To minimize engines polluting our logs, we just changed the logger for
the engines plugin like this:
In engines.rb, update the logger method:
def logger
#RAILS_DEFAULT_LOGGER
Logger.new(RAILS_ROOT + “/log/engines.log”)
end
And then create an “engines.log” under your /log directory. Now all
engines related logging will be directed to that file instead of your
development.log.
My question is, how to use it then? Wouldn’t it instantiate a new Logger
instance every time I call it?
def some_foo_method
I want to log something, I call the logger method
logger.debug(“I did something”)
end
So, the “logger” method instantiates a new Logger instance every time.
It is not good to have dozens logger instances in memory. How to avoid
it? How to instantiate only once and then just use that one instance?