W nowszej wersji Railsów, od 3 wzwyż, zapytania do bazy danych są wysyłane do konsoli. Jest to przydatne przez większość czasu, ale jak możesz to ukryć, jeśli nie chcesz tego oglądać?
W nowszej wersji Railsów, od 3 wzwyż, zapytania do bazy danych są wysyłane do konsoli. Jest to przydatne przez większość czasu, ale jak możesz to ukryć, jeśli nie chcesz tego oglądać?
Odpowiedzi:
Lepszym sposobem na zrobienie tego jest wpisanie tego w konsoli:
ActiveRecord::Base.logger.level = 1
ponieważ zapobiega problemom podczas próby użycia wskaźnika do loggera, który jest ustawiony na zero (źródło: Wyłącz logowanie Rails SQL w konsoli )
Aby go ponownie włączyć
ActiveRecord::Base.logger.level = 0
ActiveRecord::Base.logger = nil
od tutaj
NoMethodError
s z ActiveRecord spodziewa ActiveRecord::Base.logger
się być obiektem, a nie nil
.
Krótka odpowiedź ... W pliku development.rb zmień lub dodaj wartość config.log_level
tak, aby była taka linia
config.log_level = :info
Od mojego przyjaciela:
your_query; nil
W Railsach 3.2 ustawienie
config.logger.level = Logger::INFO
działało dobrze dla mnie przy wyłączaniu wyjścia SQL.
Widzę, że otrzymałeś już potrzebną odpowiedź, chociaż chciałbym ci doradzić klejnot „cichych aktywów”, większość danych dziennika będzie dotyczyła kompilacji aktywów i inkluzji, ten klejnot usunie to i nadal wyprowadza zapytania i zachowanie danych.
baw się dobrze
ActiveRecord::Base.logger.level = 0
.