Rails打印日志到rails控制台

时间:2015-08-05 12:31:37

标签: ruby ruby-on-rails-3


我想通过rails console运行代码时在控制台中获取Rail.logger.info的输出。默认情况下,我没有看到它打印它。我需要更改任何配置吗? 感谢

2 个答案:

答案 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进程的输出。