我们如何看Rails开发日志?
-
06-07-2019 - |
题
我的团队成员正在Windows XP上开发Rails应用程序。我们发现,当我们运行应用程序时,无论是在NetBeans中启动它还是打开控制台并调用 script / server
,Rails开发日志都不会滚动。只有Webrick启动消息。该应用程序肯定在运行,但是当我们在浏览器中点击各种页面时,我们没有看到任何日志记录输出。
当我在OS X系统上查看相同的应用程序时,日志记录输出按预期工作。
我确实确保它在Rails" development"中运行。环境。
为什么日志记录会被抑制?
是否存在会影响它的environment.rb文件的配置参数?
解决方案
查看 log /
目录 - 应该有 development.log
。我打赌你的输出就在那里。
如果不是,请确保该目录是可写的。
关于如何在运行时看到它:如果你安装了git bash,或者其他一些shell如cygwin,那么你可以打开一个shell并执行 tail -f log / development.log 代码>,它将在日志附加到日志时滚动日志。
其他提示
Rails配置文档表明您可能 log_level
在您的配置中设置为:debug
以外的其他内容。
还有另一个查看请求的地方:Rails应用程序中的log / development.log文件。如果没有写任何内容,那么您的问题必须在配置中。在* nix系统上,我会运行:
$ tail -f log/development.log
观看由此运行的请求。他们告诉我,有一个 Windows版 tail
。
less -R log/development.log
我刚刚开始使用它。
我总是使用 log / development.log
来查看日志。只需 tail -f
就可以使用cygwin或其他东西。
也许你的Windows环境正在使用WEBrick,而OS X环境正在使用Mongrel或其他网络服务器。我注意到,对于一些web服务器,日志输出(也)直接写入shell,而其他人只写入日志文件。
试试这个,获取开发日志:
tail -f log/development.log
确保您在申请路径中。
当开发日志过大时,Netbeans似乎停止在控制台窗口中显示开发日志。至少那是我的经历。
如果没有深入研究Webrick的来源,我怀疑显示的信息量默认不大。你确定你在OSX上运行Webrick而不是Mongrel吗?
事实上,有没有特别的理由继续使用Webrick?在Phusion Passenger出现之前,Mongrel已成为首选的事实上的前端服务器,它在Windows上运行良好。如果你安装它( gem install mongrel
),那么Rails默认会使用它。
在我的开发环境中,运行Webrick(在我弄清楚如何 - 这已经很长时间之后)我得到了非常简短的输出:只是“GET”的记录。请求。切换到Mongrel,我得到了全部工作:请求,参数,SQL,时序等。
我使用grep的尾巴
tail -f log/development.log | grep Started -A 1
工作得很漂亮。
您可以使用以下命令查看运行时日志:
tailf log/development.log
此外,如果您只想要日志中的第一行或最后一行,您可以使用以下命令获取这些行(日志中的第一行/最后100行):
例如:
前100行:
head -n 100 log/development.log
前100行:
tail -n 100 log/development.log
谢谢!
您可以尝试此命令
$ tail -f development.log
$ tail -f log/development.log