2011-12-23 8 views
7

私は、コマンドラインRubyプログラムから開始したいシナトラ::ベースのWebサービスを持っているので、私はこれがあります。Sinatra + Thinをサイレントモードで起動するには?

# command line program file 
require 'mymodule/server' 

puts "Running on 0.0.0.0:4567, debugging to STDOUT..." 

MyModule::Server.run! bind: '0.0.0.0', port: 4567, environment: :production 

予想通りこれは動作しますが、それが出てスロー:

$ myscript 
Running on 0.0.0.0:4567, debugging to STDOUT... 

== Sinatra/1.3.1 has taken the stage on 4567 for production with backup from Thin 
>> Thin web server (v1.3.1 codename Triple Espresso) 
>> Maximum connections set to 1024 
>> Listening on 0.0.0.0:4567, CTRL+C to stop 

127.0.0.1 - - [23/Dec/2011 18:44:55] "POST /images HTTP/1.1" 200 360 0.0133 
... 

をそして私はそれが静かで、私が望むものを出力させたいと思っています。私はそれを開始した場合たとえば、私は、コマンドラインプログラムとログ出力からいくつかのメッセージを見たいと思ってデーモン化ではない、のようなもの:

$ myscript 
Running on 0.0.0.0:4567, debugging to STDOUT... 
127.0.0.1 - - [23/Dec/2011 18:44:55] "POST /images HTTP/1.1" 200 360 0.0133 
... 

はまた、静かにシャットダウンをしたいと隠れます:

== Sinatra has ended his set (crowd applauds) 

最後に、アプリケーションコード(ここではルビースクリプト)の内側からシンナトラアプリを起動するのに最適なオプションですか?

答えて

2

あなたは限り、これはシナトラアプリを起動するための最良の方法であるかどうかなど

set :logging, false 

http://www.sinatrarb.com/configuration.html

でログインシナトラをオフにすることができます...あなたは見たいかもしれません」一例として、職長」宝石、および "(Heroku.comを使用しています)Procfile":

http://ddollar.github.com/foreman/

+2

は '無効:logging'は私のために動作しません。 – Nakilon

+0

SinatraBaseを使用する場合は、クラス宣言内で行う必要があります。http://www.sinatrarb.com/intro.html#Sinatra::Base%20-%20Middleware,%20Libraries,%20and%20Modular%20Apps – GroovyCakes

+0

オプションの有効/無効スタイルの設定を試すこともできます – GroovyCakes

関連する問題