Ruby on rails 我们如何查看Rails开发日志?
我团队的一名成员正在Windows XP上开发Rails应用程序。我们发现,当我们运行应用程序时,无论是在NetBeans中启动它,还是打开控制台并调用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文件
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子系统,但我没有发现任何问题。