我们如何看Rails开发日志?
我的团队成员正在Windows XP上开发Rails应用程序。 我们发现,当我们运行应用程序时,无论是在NetBeans中启动应用程序,还是通过打开控制台并调用script/server
,Rails开发日志都不会滚动。 只有Webrick启动信息。 该应用程序肯定正在运行,但是当我们在浏览器中点击各种页面时,我们没有看到任何日志输出。
当我查看OS X系统上的相同应用程序时,日志输出按预期工作。
我确定它在Rails“开发”环境中运行。
任何想法为什么伐木将被压制?
有没有configuration参数的environment.rb文件,会影响到它?
查看log/
目录 – 应该有一个development.log
。 我敢打赌你的输出在那里。
如果不是,请确保该目录是可写的。
关于如何在运行时看到它:如果你安装了git bash,或者像cygwin这样的其他一些shell,那么你可以打开一个shell并执行tail -f log/development.log
,它将滚动日志东西附加到它。
Railsconfiguration文档build议您可以将log_level
设置为除configuration以外的其他内容:debug
。
另外还有一个可以查看请求的地方:Rails应用程序中的log / development.log文件。 如果没有写在那里,那么你的问题必须在configuration。 在* nix系统上,我将运行:
$ tail -f log/development.log
并观看运行的请求。 他们告诉我,有一个Windows版本的tail
。
less -R log/development.log
我刚开始使用这个。
试试这个,得到开发日志:
tail -f log/development.log
确保您在应用程序path中。
我总是使用log/development.log
来查看日志。 只是tail -f
使用Cygwin或其他东西。
也许你的Windows环境使用WEBrick,OS X环境使用Mongrel或其他networking服务器。 我注意到,有些web服务器的日志logging输出(也)直接写入到shell中,其他日志文件只写入到日志文件中。
当开发日志过大时,Netbeans似乎停止在控制台窗口中显示开发日志。 至less这是我的经验。
没有深入Webrick的来源,我怀疑显示的信息量默认不是很大。 你确定你在OSX上运行Webrick而不是Mongrel?
事实上,有没有继续使用Webrick的特殊原因? 在Phusion Passenger出现之前,Mongrel已经成为了事实上的前端服务器,在Windows上它工作得很好。 如果你安装它( gem install mongrel
),那么Rails默认会使用它。
在我的开发环境中,运行Webrick(在弄清楚了 – 这已经很长时间了)之后,我得到了非常简短的结果:只是“GET”请求的一个logging。 切换到Mongrel,我得到了全部工作:请求,参数,SQL,时间等。
我使用grep的尾巴
tail -f log/development.log | grep Started -A 1
精美的作品。