Setting up the logger in rails 3

24,277

By default, Rails should be logging to an environment-specific log file in your project's log directory. It will be called either test.log, development.log, or production.log depending on which environment you're running in.

You can log directly to Rails' logger using the Rails.logger object:

Rails.logger.info "My info message"
Rails.logger.debug "My debugging message"
Rails.logger.warn "My warning message"

Rails used to use Ruby's standard logging class, but it now uses ActiveSupport::BufferedLogger. (The official Ruby on Rails Guides are incorrect when they say "Rails makes use of Ruby’s standard logger to write log information").

Share:
24,277
Matthew Stopa
Author by

Matthew Stopa

Updated on October 16, 2020

Comments

  • Matthew Stopa
    Matthew Stopa over 3 years

    I'm trying to figure out how to use the logger with rails 3. I need to log to a file not have it in the console, but I just can't figure out how to set it up and then, how to write something to that log. I tried the rails docs but they didn't really make it clear.

  • Matthew Stopa
    Matthew Stopa almost 13 years
    Thanks a billion times over. Seriously saved me today
  • Duke
    Duke almost 13 years
    I believe it's using ActiveSupport::BufferedLogger ... just check out Rails.logger.class
  • Dylan Markow
    Dylan Markow almost 13 years
    @Duke You are absolutely correct. Looks like the official Rails Guides are incorrect.