2011-12-23 11 views
7

Mam usługa Sinatra :: Base, którego chcę, aby uruchomić z wiersza poleceń programu Ruby, więc mam to:Jak cicho rozpocząć Sinatra + cienki?

# 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 

To działa zgodnie z oczekiwaniami, ale wyrzuca:

$ 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 
... 

i ma to być cichy, i daj mi moc, co chcę. Na przykład, jeśli nie zacznę go daemonized Chcę po prostu zobaczyć jakąś wiadomość z programem wiersza poleceń i danych wyjściowych dziennika, coś takiego:

$ 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 
... 

także chciałby cicho wyłączanie go, ukrywając:

== Sinatra has ended his set (crowd applauds) 

Ostatnie pytanie, czy to jest najlepszym rozwiązaniem, aby uruchomić aplikację z cienką Sinatra od wewnątrz kodu aplikacji (skryptu Ruby w tym przypadku)?

Odpowiedz

2

Można wyłączyć Sinatrę zalogowaniu z

set :logging, false 

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

miarę, czy nie jest to najlepszy sposób na rozpoczęcie Sinatra app ... Czasami warto spojrzeć na " majster”gem, a "Procfile"(co Heroku.com używa) jako przykład:

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

+2

Wyłączenie': logging' nie działa dla mnie. – Nakilon

+0

przypadku korzystania SinatraBase, trzeba to zrobić wewnątrz deklaracji klasy ... http://www.sinatrarb.com/intro.html#Sinatra::Base%20-%20Middleware,%20Libraries,%20and%20Modular%20Apps – GroovyCakes

+0

Możesz także spróbować włączyć lub wyłączyć ustawienie stylu opcji – GroovyCakes