在生产中禁用 Rails 路由日志

ans*_*410 3 logging ruby-on-rails

我有一个接收大量请求的应用程序,为了减少日志文件大小,我想删除一些日志。

我试图删除的日志之一是:

I, [2015-09-09T19:01:01.372374 #10897]  INFO -- : Processing by Api::V1::MyAPIController#show as JSON
Run Code Online (Sandbox Code Playgroud)

基本上,此日志显示请求被路由到哪些控制器操作。我想删除这个日志。是否可以删除此特定日志或更改其日志级别以进行调试。请提供一种删除此日志的方法,因为此日志本身提供的信息很少,但占用了大量的磁盘空间。

感谢帮助,

dim*_*ura 5

削减产出最简单的方法就是改变log_level。在您的config/environments/production.rb文件中找到行:

config.log_level = :debug
Run Code Online (Sandbox Code Playgroud)

并更改debuginfowarnerror、 或fatal

http://guides.rubyonrails.org/debugging_rails_applications.html#log-levels

更新要沉默路由日志,我们可以使用silencergem

生产中.rb

require 'silencer/logger'
config.middleware.swap Rails::Rack::Logger, Silencer::Logger, :silence => [%r{^/}]
Run Code Online (Sandbox Code Playgroud)

这将通过在所有Rails::Rack::Logger路由上替换为消音器来使所有路由日志静音。

有关配置的更多信息可以在此处silencer找到。