2011-12-23 14 views
7

tengo un servicio web Sinatra :: Base cual quiero empezar desde un programa de Ruby línea de comandos, así que tengo esto:Cómo iniciar silenciosamente 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 

Esto funciona como se esperaba, sino que lanza hacia fuera:

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

Y quiero que sea silencioso, y déjame dar salida a lo que quiero. Por ejemplo, si comienzo no endemoniada Quiero simplemente ver algún mensaje desde el programa de línea de comandos y la salida del registro, algo así como:

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

también le gustaría silencio apagado, ocultándolo:

== Sinatra has ended his set (crowd applauds) 

Una última pregunta, ¿es esta la mejor opción para iniciar una aplicación de sinatra con thin desde el interior de un código de aplicación (en este caso, el script de ruby)?

Respuesta

2

Puede desactivar Sinatra registro con

set :logging, false 

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

En cuanto a si es o no es la mejor manera de iniciar una aplicación Sinatra ... Es posible que desee ver el " capataz" gema, y ​​el "Procfile"(que utiliza Heroku.com) como ejemplo:

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

+2

Desactivación': logging' no funciona para mí. – Nakilon

+0

Si usa SinatraBase, debe hacerlo dentro de la declaración de clase ... http://www.sinatrarb.com/intro.html#Sinatra::Base%20-%20Middleware,%20Libraries,%20and%20Modular%20Apps – GroovyCakes

+0

También podría intentar la configuración de habilitar/deshabilitar estilo de las opciones – GroovyCakes

Cuestiones relacionadas