私は、コマンドライン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)
最後に、アプリケーションコード(ここではルビースクリプト)の内側からシンナトラアプリを起動するのに最適なオプションですか?
は '無効:logging'は私のために動作しません。 – Nakilon
SinatraBaseを使用する場合は、クラス宣言内で行う必要があります。http://www.sinatrarb.com/intro.html#Sinatra::Base%20-%20Middleware,%20Libraries,%20and%20Modular%20Apps – GroovyCakes
オプションの有効/無効スタイルの設定を試すこともできます – GroovyCakes