同标题:如何获得Rails.logger
运行 rspec 时打印到控制台/标准输出?例如。
Rails.logger.info "I WANT this to go to console/stdout when rspec is running"
puts "Like how the puts function works"
我还想要Rails.logger
要去log/test.log
too.
对于 Rails 4.x,日志级别的配置与 Rails 3.x 略有不同
将其添加到config/environment/test.rb
# Enable stdout logger
config.logger = Logger.new(STDOUT)
# Set log level
config.log_level = :ERROR
记录器级别在记录器实例上设置config.log_level
at: https://github.com/rails/rails/blob/v4.2.4/railties/lib/rails/application/bootstrap.rb#L70 https://github.com/rails/rails/blob/v4.2.4/railties/lib/rails/application/bootstrap.rb#L70
环境变量
作为奖励,您可以允许使用具有默认值的环境变量覆盖日志级别,如下所示:
# default :ERROR
config.log_level = ENV.fetch("LOG_LEVEL", "ERROR")
然后从 shell 运行测试:
# Log level :INFO (the value is uppercased in bootstrap.rb)
$ LOG_LEVEL=info rake test
# Log level :ERROR
$ rake test
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)