How to set logging level for Rails Engines


#1

Hello,

I get “Checking plugin…” all the time in the log and would like to
disable it. I figure out that it comes from Engines.logger and want to
set the logging level to info in stead of debug. How can I do this?
Thaks!

Franck


#2

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.


#3

Probably better to do this:

Logger.new(File.join(RAILS_ROOT, “log”, “engines.log”))


#4

Chris Lee wrote in post #708133:

In engines.rb, update the logger method:

def logger
  #RAILS_DEFAULT_LOGGER
  Logger.new(RAILS_ROOT + "/log/engines.log")
end

But 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 once and then just take only that one instance?


#5

I get “Checking plugin…” all the time in the log and would like to
disable it. I figure out that it comes from Engines.logger and want to
set the logging level to info in stead of debug. How can I do this?
Thaks!