简体   繁体   English

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

[英]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? 如何禁用日志/(env).log的日志记录,但仍保留到STDOUT的rails日志记录? The correct answer works in in a vanilla rails 4 app running the latest stable version of rails, with no modifications of the Gemfile (ie no additional dependencies) and does not use /dev/null (only modifications to ruby code). 正确的答案适用于运行最新稳定版本的rails的vanilla rails 4应用程序,没有修改Gemfile(即没有其他依赖项)并且不使用/ dev / null(仅修改ruby代码)。 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, eg: 不应以任何方式更改日志输出,例如:

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)

To suppress output to log files, set the output stream of the configured logger to nil . 要禁止输出到日志文件,请将配置的记录器的输出流设置为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. rails server仍将记录到STDOUT ,但不会创建日志文件。

You would add the following to your config/environments/development.rb file: 您可以将以下内容添加到config/environments/development.rb文件中:

# 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 . 阅读更多关于The Logger的信息

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM