使用rails s
运行rails服务器会导致大量文本输出到屏幕,因为它似乎以详细:info
级别进行登录。在我调试时,有时我只是通过awesome_print打印一些变量来屏幕,并且不想在文本中进行筛选。
那么我可以将开发环境文件中的配置设置设置为完全抑制输出(除了ap
调用的输出外)?
答案 0 :(得分:0)
您可以通过自定义config/environments/development.rb
文件来控制开发中记录的内容。
Here您可以找到有关各种选项的文档。
您可能想要设置:
config.log_level
config.assets.debug
(控制资产编译,作为副作用,关闭资产编译消息)答案 1 :(得分:0)
您可以使资产静音,只需获取开发的重要信息,只需在初始化程序中添加一个文件,例如 config / initializers / silent_assets.rb ,并使用以下代码
if Rails.env.development?
Rails.application.assets.logger = Logger.new('/dev/null')
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'] =~ %r{^/assets/}
call_without_quiet_assets(env)
ensure
Rails.logger.level = previous_level
end
alias_method_chain :call, :quiet_assets
end
end
答案 2 :(得分:0)
另一种选择是编辑文件 config / environments / development.rb ,并将日志级别设置为错误:
config.log_level = :error
然后用awesome_print打印
ap {a: 1, b: 2}
如果您从控制台启动服务器,如
script/rails s
在该控制台中,您将只看到awesome_print的输出