是否可以破解 Rails3 中的记录器以忽略对资产的请求?
在日志中找到一些东西是很疯狂的,当它充满了
Started GET "/assets/tiscali.png" for 127.0.0.1 at 2011-09-09 19:59:45 +0200
Served asset /tiscali.png - 304 Not Modified (0ms)
谢谢!
是否可以破解 Rails3 中的记录器以忽略对资产的请求?
在日志中找到一些东西是很疯狂的,当它充满了
Started GET "/assets/tiscali.png" for 127.0.0.1 at 2011-09-09 19:59:45 +0200
Served asset /tiscali.png - 304 Not Modified (0ms)
谢谢!
我认为这可以帮助https://github.com/evrone/quiet_assets
弃用
从
sprockets-rails
version开始3.1.0
,在当前版本的 rails 中使用,这个 gem 已被弃用。资产管道现在支持
quiet
抑制资产请求输出的选项:# config/environments/development.rb config.assets.quiet = true
相关公关:https ://github.com/rails/sprockets-rails/pull/355
信息
Quiet Assets 关闭 Rails 资产管道日志。这意味着它会抑制开发日志中的消息,例如:
Started GET "/assets/application.js" for 127.0.0.1 at 2015-01-28 13:35:34 +0300 Served asset /application.js - 304 Not Modified (8ms)
支持 Ruby on Rails >= 3.1...
用法
只需安装 Quiet Assets 就会自动抑制日志消息。但是,如果您希望暂时重新启用资产管道消息的日志记录,请将以下内容放入您的
config/application.rb
文件中:config.quiet_assets = false
如果您需要抑制其他路径的输出,可以通过指定:
config.quiet_assets_paths << '/silent/'
反转选择怎么样?
tail -f log/development.log | grep -v asset
这基本上输出除了包含“资产”一词的行之外的所有内容。
显然,截至 2011 年 11 月 2 日,该问题仍未解决。
类似问题中提供了一种解决方法:如何在 Rails 3.1 中禁用资产管道(链轮)消息的日志记录?
导轨 3.2:
使用内容创建一个初始化程序:
Rails::Rack::Logger.class_eval do
def call_with_quiet_assets(env)
previous_level = Rails.logger.level
Rails.logger.level = Logger::ERROR if env['PATH_INFO'].index("/assets/") == 0
call_without_quiet_assets(env).tap do
Rails.logger.level = previous_level
end
end
alias_method_chain :call, :quiet_assets
end