61

我团队的一名成员正在 Windows XP 上开发 Rails 应用程序。我们发现,当我们运行应用程序时,无论是在 NetBeans 中启动它还是通过打开控制台并调用script/server,Rails 开发日志都不会滚动。只有 Webrick 启动消息。该应用程序肯定正在运行,但是当我们在浏览器中访问各个页面时,我们看不到任何日志输出。

当我在我的 OS X 系统上查看相同的应用程序时,日志输出按预期工作。

我确实确保它在 Rails“开发”环境中运行。

任何想法为什么会被禁止记录?

environment.rb 文件是否有会影响它的配置参数?

4

10 回答 10

126

查看log/目录 - 应该有一个development.log. 我敢打赌你的输出就在那里。

如果不是,请确保该目录是可写的。

关于如何在运行时查看它:如果您安装了 git bash 或其他一些 shell(如 cygwin),那么您可以打开一个 shell 并tail -f log/development.log在日志附加内容时滚动日志。

于 2009-06-18T23:53:53.233 回答
9

Rails 配置文档建议您可能log_level设置了配置之外的其他内容:debug

还有一个查看请求的替代位置:Rails 应用程序中的 log/development.log 文件。如果那里什么也没写,那么你的问题一定是在配置中。在 *nix 系统上,我会运行:

$ tail -f log/development.log

并观察运行的请求。他们告诉我有一个Windows 版本的tail.

于 2009-06-18T23:59:24.203 回答
6
less -R log/development.log

我刚开始用这个。

于 2012-11-15T12:33:09.977 回答
3

我总是log/development.log用来查看日志。只是tail -f它使用cygwin或其他东西。

也许您的 Windows 环境使用 WEBrick,而 OS X 环境使用 Mongrel 或其他网络服务器。我注意到,对于某些网络服务器,日志输出(也)直接写入 shell,而对于其他服务器,日志输出仅写入日志文件。

于 2009-06-18T23:58:34.567 回答
3

试试这个,以获取开发日志:

tail -f log/development.log

确保您位于应用程序路径中。

于 2016-08-31T13:17:06.377 回答
2

当开发日志变得太大时,Netbeans 似乎停止在控制台窗口中显示开发日志。至少那是我的经验。

于 2009-06-19T07:59:28.510 回答
2

您可以使用以下命令查看运行时日志:

tailf log/development.log

此外,如果您只需要日志中的第一行或最后一行,您可以使用以下命令获取这些行(日志中的第一行/最后 100 行):

例如:

前 100 行:

head -n 100 log/development.log 

最后 100 行:

tail -n 100 log/development.log

谢谢!

于 2018-04-03T12:31:48.460 回答
1

在不深入研究 Webrick 的源代码的情况下,我怀疑显示的信息量默认情况下并不大。你确定你在 OSX 上运行 Webrick 而不是 Mongrel 吗?

事实上,继续使用 Webrick 有什么特别的原因吗?在 Phusion Passenger 出现之前,Mongrel 已经成为事实上的首选前端服务器,并且在 Windows 上运行良好。如果您安装它 ( gem install mongrel),Rails 将默认使用它。

在我的开发环境中,运行 Webrick(在我弄清楚了如何 - 已经很久了)我得到了非常简短的输出:只是“GET”请求的记录。切换到 Mongrel,我得到了完整的工作:请求、参数、SQL、计时等。

于 2009-06-19T07:56:25.177 回答
1

我在 grep 中使用 tail

tail -f log/development.log | grep Started -A 1

工作精美。

于 2016-11-23T14:01:31.350 回答
0

你可以试试这个命令

$ tail -f development.log


$ tail -f log/development.log
于 2019-01-25T05:57:36.483 回答