rails禁用development.log但仍记录到STDOUT

时间:2015-02-19 18:35:45

标签: ruby-on-rails

如何禁用日志/(env).log的日志记录,但仍保留rails记录到STDOUT?正确的答案适用于运行最新稳定版本的rails的vanilla rails 4 app,没有修改Gemfile(即没有其他依赖项),也没有使用/ dev / null(只修改ruby代码)。允许猴子修补(鼓励?)。

如果它适用于旧版本的导轨,那么很棒但不是必需的。

不应以任何方式更改日志输出,例如:

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)

2 个答案:

答案 0 :(得分:2)

要禁止输出到日志文件,请将配置的记录器的输出流设置为nil

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

rails server仍会记录到STDOUT,但不会创建任何日志文件。

答案 1 :(得分:1)

您可以将以下内容添加到config/environments/development.rb文件中:

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

详细了解The Logger