# How to set logging level for Rails Engines

**URL:** <https://www.ruby-forum.com/t/how-to-set-logging-level-for-rails-engines/136656>\
**Category:** Engines\
**Created:** [May 5, 2008, 9:40am UTC](https://www.ruby-forum.com/t/how-to-set-logging-level-for-rails-engines/136656 "2008-05-05T09:40:14Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![franck](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/7ba0ec/32.png) [@franck](https://www.ruby-forum.com/u/franck)\
**Post date:** [May 5, 2008, 9:40am UTC](https://www.ruby-forum.com/t/how-to-set-logging-level-for-rails-engines/136656/1 "2008-05-05T09:40:14Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![franck](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/7ba0ec/32.png) [@franck](https://www.ruby-forum.com/u/franck)\
**Post date:** [July 29, 2008, 12:28am UTC](https://www.ruby-forum.com/t/how-to-set-logging-level-for-rails-engines/136656/2 "2008-07-29T00:28:38Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![franck](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/7ba0ec/32.png) [@franck](https://www.ruby-forum.com/u/franck)\
**Post date:** [July 29, 2008, 1:01am UTC](https://www.ruby-forum.com/t/how-to-set-logging-level-for-rails-engines/136656/3 "2008-07-29T01:01:15Z")

</div>

Probably better to do this:

Logger.new(File.join(RAILS\_ROOT, “log”, “engines.log”))

---

<div class="post-metadata">

**Author:** ![franck](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/7ba0ec/32.png) [@franck](https://www.ruby-forum.com/u/franck)\
**Post date:** [June 14, 2013, 10:05am UTC](https://www.ruby-forum.com/t/how-to-set-logging-level-for-rails-engines/136656/4 "2013-06-14T10:05:35Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![franck](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/7ba0ec/32.png) [@franck](https://www.ruby-forum.com/u/franck)\
**Post date:** [May 18, 2014, 7:07pm UTC](https://www.ruby-forum.com/t/how-to-set-logging-level-for-rails-engines/136656/5 "2014-05-18T19:07:00Z")

</div>

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!
