我想通过rails console运行代码时在控制台中获取Rail.logger.info的输出。默认情况下,我没有看到它打印它。我需要更改任何配置吗?
感谢
答案 0 :(得分:0)
在config/environments/test.rb
中配置记录器:
config.logger = Logger.new(STDOUT)
config.logger.level = Logger::ERROR
这会将测试期间记录的任何错误交错到STDOUT。您可能希望将输出路由到STDERR或使用不同的日志级别。
将这些消息发送到控制台和日志文件需要比Ruby的内置 Logger 类更强大的功能。 logging宝石会做你想要的。将其添加到Gemfile
,然后在config/environments/test.rb
中设置两个appender:
logger = Logging.logger['test']
logger.add_appenders(
Logging.appenders.stdout,
Logging.appenders.file('example.log')
)
logger.level = :info
config.logger = logger
已经全面回答here。
答案 1 :(得分:0)
打开Rails控制台后:
Rails.logger.level = Logger::DEBUG
如果您需要更改日志级别:
kill
这会将更改本地化为控制台过程,因此您只能看到它的输出,而看不到其他可能正在运行的Rails进程的输出。