मैं एक सिनात्रा :: बेस वेब सेवा जो मैं एक कमांड लाइन रूबी कार्यक्रम से शुरू करना चाहते है, तो मैं इस है:चुपचाप सिनात्रा + पतला कैसे शुरू करें?
# 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
...
और मैं चाहता हूं कि यह चुप रहें, और जो मुझे चाहिए वो आउटपुट दें। उदाहरण के लिए, अगर मैं इसे शुरू daemonized नहीं मैं बस की तरह कमांड लाइन कार्यक्रम से कुछ संदेश और लॉग उत्पादन, कुछ देखना चाहते हैं:
== Sinatra has ended his set (crowd applauds)
:
$ 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 ऐप शुरू करने का सबसे अच्छा विकल्प है?
अक्षम': logging' मेरे लिए काम नहीं करता। – Nakilon
यदि सिनात्राबेस का उपयोग करना है, तो आपको इसे कक्षा घोषणा के अंदर करना होगा ... http://www.sinatrarb.com/intro.html#Sinatra::Base%20-%20Middleware,%20 पुस्तकालय ,%20and%20Modular%20Apps – GroovyCakes
आप विकल्प – GroovyCakes