Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我们如何查看Rails开发日志?_Ruby On Rails_Ruby_Windows_Logging_Git Bash - Fatal编程技术网

Ruby on rails 我们如何查看Rails开发日志?

Ruby on rails 我们如何查看Rails开发日志?,ruby-on-rails,ruby,windows,logging,git-bash,Ruby On Rails,Ruby,Windows,Logging,Git Bash,我团队的一名成员正在Windows XP上开发Rails应用程序。我们发现,当我们运行应用程序时,无论是在NetBeans中启动它,还是打开控制台并调用script/server,Rails开发日志都不会滚动。只有Webrick启动消息。该应用程序肯定正在运行,但当我们在浏览器中点击各个页面时,我们没有看到任何日志输出 当我在我的OS X系统上查看相同的应用程序时,日志输出与预期一样工作 我确实确保它在Rails“开发”环境中运行 你知道为什么日志记录会被禁止吗 environment.rb文件

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

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

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

你知道为什么日志记录会被禁止吗


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

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

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


运行时如何查看:如果安装了git bash或cygwin等其他shell,则可以打开一个shell并执行
tail-f log/development.log
,它将在日志添加内容时滚动日志。

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

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

文档表明,您的配置中可能已将
日志级别设置为
:debug
以外的值

还有另一个地方可以查看请求:Rails应用程序中的log/development.log文件。如果没有写入任何内容,那么您的问题一定是在配置中。在*nix系统上,我将运行:

$ tail -f log/development.log

并观察运行的请求。他们告诉我有一个。

如果不深入了解Webrick的源代码,我怀疑默认情况下显示的信息量不大。你确定你在OSX上运行Webrick而不是Mongrel

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


在我的开发环境中,运行Webrick(在我弄清楚这是怎么回事之后——这已经是很长一段时间了),我得到了非常简短的输出:只是一个“GET”请求的记录。切换到Mongrel,我得到了全部工作:请求、参数、SQL、计时等。

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

less -R log/development.log

我刚开始使用它。

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

tail -f log/development.log
确保您位于应用程序路径中。

我将tail与grep一起使用

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

运行良好。

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

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

例如:

前100行:

head -n 100 log/development.log 
tail -n 100 log/development.log
最后100行:

head -n 100 log/development.log 
tail -n 100 log/development.log

谢谢

您可以尝试此命令

$ tail -f development.log


$ tail -f log/development.log

嘿,莎拉!谢谢,是的,我给他安排了一个Git Bash控制台窗口运行tail-f。然而,Webrick并没有将所有Rails日志记录输出发送到stdout,这让我感到困惑。我以为这应该是默认的。是的,这很奇怪。当我在一个目录(在git bash中,在XP Pro上)中运行ruby脚本/服务器时,我看到了输出。我尝试了使用和不使用“ruby”,甚至在cmd.exe中。不过,每次它都会等到有一个满是输出的窗口时才输出任何东西。Rails/Ruby/WEBrick的哪个版本?我使用的是2.3.2/1.8.6/1.3.1.2.3.2/1.8.6/对WEBrick不太确定--我目前无法访问那个XP机器。在生产中:这在生产模式下非常有用-当您在开发模式下运行服务器时,而不是在linux中作为守护进程运行时,默认情况下可以在控制台中实时预览日志。问题是,当你们在服务器上、在生产中使用应用程序时:使用这个命令,bug跟踪就更容易了。谢谢。这真的很有帮助。是的,在我运行Mongrel的OSX机器上。我同事的XP系统正在运行Webrick。我将尝试在那里安装Mongrel。使用windows不是个好主意。我使用了Linux的windows子系统,但我没有发现任何问题。