Rails WEBrick不写日志到终端(stdout)

时间:2013-01-24 18:07:26

标签: ruby-on-rails webrick

WEBrick通常将其输出写入development.log和stdout。然而,它突然停止这样做,它没有写入stdout。我们得到的只是

Booting WEBrick
=> Rails 3.2.8 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server

然后什么都没有。 development.log似乎写得不错。

这是一个特定于项目的问题,因为它发生在我们团队中不同计算机的所有成员身上。另一方面,如果我创建另一个Rails项目(并复制Gemfile和Gemfile.lock以确保我拥有相同的gems),我会在终端上获得正常输出。

这是一个很大的问题,因为它阻止我们使用pry或ruby-debug,因为我无法访问断点上的进程。

我们使用Ruby ruby​​-1.9.3-p194,Rails 3.2.8和WEBrick 1.3.1。如果它很重要我们都在Macs(Mountain Lion)上。

任何可能导致此问题以及如何解决问题的想法?我们需要stdout回来!谢谢

2 个答案:

答案 0 :(得分:1)

原来,有人将这三行添加到config.ru

log = File.new("console.log", "a+")
$stdout.reopen(log)
$stderr.reopen(log)

弄清楚这个是非常痛苦的,所以不用说,不要这样做。

答案 1 :(得分:0)

如果你使用pry-remote,你应该没问题。