Question

A member of my team is developing a Rails app on Windows XP. We are finding that when we run the app, either launching it within NetBeans or by opening a console and calling script/server, the Rails development log does not scroll by. There is only the Webrick startup message. The app is definitely running, but when we hit various pages in the browser we aren't seeing any logging output.

When I look at the identical app on my OS X system, logging output works as expected.

I did make sure that it's running in Rails "development" environment.

Any ideas why logging would be suppressed?

Are there config params for the environment.rb file that would affect it?

Was it helpful?

Solution

Look in the log/ directory - there should be a development.log. I bet your output is there.

If it's not, make sure that directory is writable.

For how to see it while you're running: if you have git bash installed, or some other shell such as cygwin, then you can open a shell and do tail -f log/development.log which will scroll the log as it gets stuff appended to it.

OTHER TIPS

The Rails Configuration documentation suggests that you may have log_level set to something other than :debug in your configuration.

There is also an alternative place to view the requests: the log/development.log file in your Rails app. If nothing is written there, then your problem must be in configuration. On a *nix system I would run:

$ tail -f log/development.log

And watch the requests run by. They tell me that there is a Windows version of tail.

less -R log/development.log

I just started to use this.

I always use log/development.log to look at the logs. Just tail -f it using cygwin or something.

Maybe your Windows environment is using WEBrick and the OS X environment is using Mongrel or other webserver. I've noticed that with some webservers the logging output is (also) written directly into the shell and with others is written only to the log files.

Try this, to get development log:

tail -f log/development.log

Make sure that you are in the application path.

Netbeans seems to stop displaying the dev log in the console window when the dev log gets too large. At least that was my experience.

Without digging into the source for Webrick, I suspect that the amount of information displayed is by default not large. Are you sure you're running Webrick on OSX and not Mongrel?

In fact, is there a particular reason for continuing to use Webrick at all? Before the advent of Phusion Passenger, Mongrel had become the de facto front-end server of choice, and it works just fine on Windows. If you install it (gem install mongrel) then Rails will use it by default.

In my development environment, running Webrick (after I'd figured out how - it's been a long time) I got very brief output: just a record of the "GET" request. Switching to Mongrel, I got the full works: request, parameters, SQL, timings etc.

I use tail with grep

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

Works beautifully.

You can see the run-time logs using the below command:

tailf log/development.log

Also if you just want first or last number of lines from the logs you can just get those using below command (first / last 100 lines from logs):

For example:

First 100 lines:

head -n 100 log/development.log 

Last 100 lines:

tail -n 100 log/development.log

Thanks!

You can try this command

$ tail -f development.log


$ tail -f log/development.log
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top