gpt4 book ai didi

ruby-on-rails - 运行 rspec 时如何让 Rails.logger 打印到控制台/stdout?

转载 作者:行者123 更新时间:2023-12-03 05:23:20 25 4
gpt4 key购买 nike

同标题:运行 rspec 时如何将 Rails.logger 打印到控制台/stdout?例如。

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

最佳答案

对于 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 设置: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

关于ruby-on-rails - 运行 rspec 时如何让 Rails.logger 打印到控制台/stdout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11770552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com