Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

rails disable development.log but still log to STDOUT

how can I disable the logging to logs/(env).log but still preserve rails logging to STDOUT? The correct answer works in in a vanilla rails 4 app running the latest stable version of rails, with no modifications of the Gemfile (i.e. no additional dependencies) and does not use /dev/null (only modifications to ruby code). Monkey patching allowed (encouraged?).

if it works in older versions of rails thats great but not required.

Log output should not be altered in any way, e.g:

I, [2015-02-20T07:54:35.257440 #64936]  INFO -- :   Rendered /Users/lsu/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_source.erb (3.0ms)
I, [2015-02-20T07:54:35.257504 #64936]  INFO -- :   Rendered /Users/lsu/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_source.erb (3.0ms)
I, [2015-02-20T07:54:35.261314 #64936]  INFO -- :   Rendered /Users/lsu/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_trace.html.erb (1.3ms)
I, [2015-02-20T07:54:35.261366 #64936]  INFO -- :   Rendered /Users/lsu/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_trace.html.erb (1.3ms)
I, [2015-02-20T07:54:35.270427 #64936]  INFO -- :   Rendered /Users/lsu/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_request_and_response.html.erb (6.4ms)
I, [2015-02-20T07:54:35.270466 #64936]  INFO -- :   Rendered /Users/lsu/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_request_and_response.html.erb (6.4ms)
I, [2015-02-20T07:54:35.273338 #64936]  INFO -- :   Rendered /Users/lsu/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_web_console.html.erb (0.6ms)
I, [2015-02-20T07:54:35.273367 #64936]  INFO -- :   Rendered /Users/lsu/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_web_console.html.erb (0.6ms)
I, [2015-02-20T07:54:35.273420 #64936]  INFO -- :   Rendered /Users/lsu/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/diagnostics.html.erb within rescues/layout (22.8ms)
like image 586
quinn Avatar asked Oct 20 '25 05:10

quinn


2 Answers

To suppress output to log files, set the output stream of the configured logger to nil.

# config/environments/development.rb
Rails.application.configure do
  config.logger = ActiveSupport::Logger.new(nil)
end

rails server will still log to STDOUT, but no log file is created.

like image 70
mikezter Avatar answered Oct 21 '25 21:10

mikezter


You would add the following to your config/environments/development.rb file:

# config/environments/development.rb
ExampleApp::Application.configure do 
  ...
  config.logger = Logger.new(STDOUT)
  config.log_formatter = Logger::SimpleFormatter.new
  ...
end

Read more on The Logger.

like image 33
vee Avatar answered Oct 21 '25 20:10

vee



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!