How can I let rails working on non-block mode?

Zhao Yi wrote:

When I run "ruby script/server" to start rails server, the current shell will be blocked and all the output from rails will be written to the current console. Does rails support a non-block mode and let the output to be written to a specified log file?

Use the -d option with the `ruby script/server` program. Then WEBrick server will run as a daemon.

Siddick Ebramsha wrote:

The logs will be in the log/development.log file.

Can I specify a log file?

Hi, you should be able to configure the log_path by adding it to the initializer block in your environment.rb. For example,

Rails::Initializer.run do |config|

Note: By default, the log_path is set to log/#{environment}.log

config.log_path = <some_absolute_file_path>

end

Good luck,

-Conrad

> Hi, you should be able to configure the log_path by adding it to the > initializer block in your environment.rb. For example,

> Rails::Initializer.run do |config|

> ...

> # Note: By default, the log_path is set to log/#{environment}.log > config.log_path = <some_absolute_file_path>

> end

This log is rails log. What I want is application log. For example, in my controller, I use puts to print message to the console, I will to log this output.

Don't use puts, use Rails.logger.info (or whatever log level you want). Or you can create and pass around your own logger object but why bother ?

Fred

Siddick Ebramsha wrote:

Use the -d option with the `ruby script/server` program. Then WEBrick server will run as a daemon.

How can i stop the rails server if using -d option?

just kill it. grab the pid from ps (or the pidfile if there is one, can't remember if there is)

Fred