Sinatra günlüğü?
Sorun Sinatra ile günlük iletileri için nasıl sergiyi yaşıyorum. Benim app bazı noktalarda istekleri, daha ziyade özel iletileri günlüğe bakıyorum. Bir URL getirilirken, örneğin, "Fetching #{url}"
günlük istiyorum.
İstediğim şey şu:
- Belirtmek için yeteneği düzeyleri (örn:
logger.info("Fetching #{url}")
) oturum açın - Geliştirme ve test ortamları, mesajlar konsola yazılacaktır.
- Üretim, sadece mesaj geçerli günlük seviye eşleme yazmak.
Sanırım bu kolayca yapılabilir config.ru
, ama ben değilim 100% emin olan ayarı istiyorum ve etkinleştirmek eğer benim için el ile oluşturmak Logger
nesne kendimi (ve ayrıca, hangi sınıf Logger
kullanımı: Logger
, Rack::Logger
Rack::CommonLogger
).
(StackOverflow benzer sorular var biliyorum, ama hiçbiri doğrudan soruma cevap gibi görünüyor. Eğer varolan bir soruya yerini, yinelenen bir) olarak bu bir iz bırakacağım.
CEVAP
Sinatra 1.3 bu logger nesnesi, yukarıda tam olarak kullanılabilir ile gönderecektir. Açıklandığı gibi kenar Sinatra kullanabilirsiniz "The Bleeding Edge". 1.3 sanırım. taburcu edeceğiz, o kadar uzun sürmez
Sinatra ile böyle bir şey yapabilir 1.2, kullanmak için:
require 'sinatra'
use Rack::Logger
helpers do
def logger
request.logger
end
end
Veritabanı denetim günlüğü için tasarı...
Django Kurulum Varsayılan Günlüğü...
Günlüğü devre dışı bırakmak HttpClient...
Sinatra vs Raylar...
Nasıl açık SQL işlem günlüğü Server mı...