में कॉमनलॉगर मेरे पास एक छोटा वेब-सर्वर है जिसे मैंने सिनात्रा के साथ लिखा था। मैं लॉग फ़ाइल में संदेशों को लॉग इन करने में सक्षम होना चाहता हूं। मैंने http://www.sinatrarb.com/api/index.html और www.sinatrarb.com/intro.html के माध्यम से पढ़ा है, और मुझे लगता है कि रैक में रैक :: कॉमनलॉगर नामक कुछ है, लेकिन मुझे कोई उदाहरण नहीं मिल रहा है कि इसे कैसे एक्सेस किया जा सकता है और संदेशों को लॉग इन करने के लिए उपयोग किया जा सकता है। मेरा ऐप सरल है इसलिए मैंने इसे शीर्ष-स्तरीय डीएसएल के रूप में लिखा है, लेकिन यदि मैं आवश्यक चीज़ों का हिस्सा हूं तो मैं इसे सिनात्राबेस से उप-वर्गीकृत करने के लिए स्विच कर सकता हूं।रैक का उपयोग करें :: सिनात्रा
require 'rubygems'
require 'sinatra'
disable :run
set :env, :production
set :raise_errors, true
set :views, File.dirname(__FILE__) + '/views'
set :public, File.dirname(__FILE__) + '/public'
set :app_file, __FILE__
log = File.new("log/sinatra.log", "a")
STDOUT.reopen(log)
STDERR.reopen(log)
require 'app'
run Sinatra.application
नीचे कुछ अंश तो puts
या print
का उपयोग करें -
MyLoggerMiddleware # कॉल (एनवी) की पहली पंक्ति नहीं होनी चाहिए: env ['rack.errors'] = @logger ? –
इसके अलावा, मैं हर अनुरोध, केवल चेतावनियां और त्रुटि संदेशों को लॉग इन नहीं करना चाहता हूं। लेकिन मैं इसे विन्यास योग्य बनाना चाहता हूं ताकि मैं "डीबग", "जानकारी", "चेतावनियां", "त्रुटियों" के रूप में लॉगिंग का स्तर निर्धारित कर सकूं, ... बीटीडब्ल्यू - मेरा ऐप रेल नहीं है एप्लिकेशन। कोई config.ru फ़ाइल नहीं है। यह एक साधारण सिनात्रा ऐप है। मैं मौजूदा मानक का उपयोग करने की उम्मीद कर रहा था, लेकिन यह पता नहीं लगा सकता कि क्या है। हो सकता है कि मुझे कॉमनलॉगर लेना पड़े, आपने मुझे दिखाया और इसे अपने आप पर विंग कर दिया? –
'config.ru' रैक के लिए कॉन्फ़िगरेशन फ़ाइल है, न कि रेल के लिए। सिनात्रा और रेल दोनों रैक आधारित हैं, इसलिए आप सिनात्रा अनुप्रयोगों में 'config.ru' का भी उपयोग कर सकते हैं। – jafrog