Accessing the Rails logger inside of library files

A quick tip, if you’re developing a library which lives inside of RAILS_ROOT/lib, you can use the Rails logger via DEFAULT_RAILS_LOGGER

class MyLib
  def my_method
    RAILS_DEFAULT_LOGGER.info "my log message" if RAILS_DEFAULT_LOGGER
  end
end

I added if RAILS_DEFAULT_LOGGER so that it doesn’t trip up if used outside of RAILS

Comments (2)

MartijnJune 11th, 2009 at 08:44

I did not know that. Thanks :)

jeffJune 15th, 2009 at 16:09

you could also implement it to work outside of rails like

class MyLib def my_method logger.info "my log message" end def logger @logger ||= RAILS_DEFAULT_LOGGER || my_custom_logger_initialize end end