Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Setting up the logger in rails 3

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.

like image 561
Matthew Stopa Avatar asked May 16 '11 15:05

Matthew Stopa


People also ask

How do I create a log file in rails?

If you want to change all the default logging for that specific model, you can simply use User. logger = Logger. new(STDOUT) or wherever you want to log to. In the same way, ActiveRecord::Base.

Where can I find rails logger?

In a Rails app, logs are stored under the /log folder. In development mode, the development. log file is used & you see log output on the terminal you're running rails server on.

How do I use Rails logger info?

This can be done in one of two ways—first, with configuration. As shown below, we're setting the format specification to show the log message's datetime and message and the program's name. Alternatively, we can also change the format by overriding the logger's format method.


1 Answers

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").

like image 186
Dylan Markow Avatar answered Sep 22 '22 14:09

Dylan Markow