如何禁用日志/(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)
答案 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。