2011-11-01 14 views
20

için ayrıntılı sql/ActiveRecord özelliğini kapatın. SQL/ActiveRecord çağrılarının ayrıntılı özelliği çoğu zaman yararlı olsa da, bazı döngüleri devam ettiğim durumlarda kapatmak istiyorum.Rails 3.1.1

Bunu kapatmanın bir yolu var mı?
Devre Dışı:: Konsolda

irb(main):055:0> City.first 
    ←[1m←[35mCity Load (1.0ms)←[0m SELECT `cities`.* FROM `cities` LIMIT 1 
=> #<City id: 1, name: "bla bla", state_id: 1, zip: nil, country_id: nil, 
created_at: "2011-03-27 14:11:28", updated_at: "2011-08-16 11:14:36", guid: "5PK 
fvvz2Gsi"> 
+3

Evet, bunu kapatabilirsiniz: http://stackoverflow.com/questions/7759321/disable-rails-3-1-sql-logging –

+0

Teşekkür ederiz, @JohnBachir =) – Abdo

cevap

25

old_logger = ActiveRecord::Base.logger 
ActiveRecord::Base.logger = nil 

etkinleştirme: Raylar 4 yılında

ActiveRecord::Base.logger = old_logger 
+1

Bunu yapmanın başka bir yolu var mı? ? Bu, logger.debug kullanan koddaki hatalara neden oluyor. Elle yazamadığımları kapatmak istiyorum. – Abdo

+41

http://stackoverflow.com/questions/7759321/disable-rails-3-1-sql-logging bölümünde belirtildiği gibi, bunu yapmanın bir başka yolu, 'ActiveRecord :: Base.logger.level = 1' oturumu kapatır (günlük seviyesini bilgi olarak ayarlar) ve tekrar açmak için 'ActiveRecord :: Base.logger.level = 0' (log düzeyini debug olarak ayarlar). –

+0

@HenrikN bu kalıcı mı, yoksa sadece oturum için mi? – FloatingRock

4

yüzden benim özellikleri ortasında ActiveRecord günlüğü SQL ifadelerinin rahatsız oldum Bunu config/environments/test.rb:

ekleyerek devre dışı bırakıyorum