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.
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.
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.
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.
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").
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With