Rails'in daha yeni sürümünde, tahminimce 3'ten itibaren veritabanı sorguları konsola çıktı. Bu çoğu zaman kullanışlıdır, ancak görmek istemediğinizde onu nasıl gizleyebilirsiniz?
Rails'in daha yeni sürümünde, tahminimce 3'ten itibaren veritabanı sorguları konsola çıktı. Bu çoğu zaman kullanışlıdır, ancak görmek istemediğinizde onu nasıl gizleyebilirsiniz?
Yanıtlar:
Bunu yapmanın daha iyi bir yolu, bunu konsola yazmaktır:
ActiveRecord::Base.logger.level = 1
sıfır olarak ayarlanmış bir kaydediciye işaretçi kullanmaya çalışırken sorunları önlediği için (kaynak: Konsolda Rails SQL günlüğünü devre dışı bırak )
Tekrar açmak için
ActiveRecord::Base.logger.level = 0
ActiveRecord::Base.logger = nil
dan burada
NoMethodError
ActiveRecord'un ActiveRecord::Base.logger
bir nesne yerine bir nesne olmasını beklemesine neden olabilir nil
.
Kısa cevap ... Geliştirme.rb dosyasında, config.log_level
gibi bir satır olacak şekilde değiştirin veya değerini ekleyin
config.log_level = :info
Bir arkadaşımdan:
your_query; nil
Rails 3.2'de, ayarlama
config.logger.level = Logger::INFO
SQL çıktısını kapatmak için benim için iyi çalıştı.
Size 'sessiz varlıklar' cevherini tavsiye etmek istememe rağmen, ihtiyaç duyduğunuz cevabı zaten aldığınızı görüyorum, günlük verilerinin çoğu varlık derleme ve dahil etme olacak, bu mücevher bunu kaldıracak ve yine de sorguları ve veri davranışını çıkaracaktır.
İyi eğlenceler
ActiveRecord::Base.logger.level = 0
.