Trong phiên bản mới hơn của Rails, tôi đoán từ 3 trở lên, các truy vấn cơ sở dữ liệu được xuất ra bảng điều khiển. Điều này thường hữu ích, nhưng làm thế nào bạn có thể ẩn nó khi bạn không muốn xem nó?
Trong phiên bản mới hơn của Rails, tôi đoán từ 3 trở lên, các truy vấn cơ sở dữ liệu được xuất ra bảng điều khiển. Điều này thường hữu ích, nhưng làm thế nào bạn có thể ẩn nó khi bạn không muốn xem nó?
Câu trả lời:
Một cách tốt hơn để làm điều này là nhập vào bảng điều khiển:
ActiveRecord::Base.logger.level = 1
vì nó ngăn chặn các sự cố khi cố gắng sử dụng một con trỏ tới một trình ghi nhật ký được đặt thành nil (nguồn: Tắt tính năng đăng nhập Rails SQL trong bảng điều khiển )
Để bật lại
ActiveRecord::Base.logger.level = 0
ActiveRecord::Base.logger = nil
từ đây
NoMethodError
s với ActiveRecord mong đợi ActiveRecord::Base.logger
là một đối tượng hơn là nil
.
Câu trả lời ngắn gọn ... Trong tệp development.rb, hãy thay đổi hoặc thêm giá trị của config.log_level
để có một dòng như
config.log_level = :info
Từ một người bạn của tôi:
your_query; nil
Trong Rails 3.2, thiết lập
config.logger.level = Logger::INFO
hoạt động tốt đối với tôi vì đã tắt đầu ra SQL.
Tôi thấy bạn đã có câu trả lời cần thiết mặc dù tôi muốn tư vấn cho bạn về viên ngọc 'tài sản yên tĩnh', hầu hết dữ liệu nhật ký sẽ là phần tổng hợp và bao gồm tài sản, viên đá quý này sẽ loại bỏ điều đó và vẫn xuất ra các truy vấn và hành vi dữ liệu.
Chúc vui vẻ
ActiveRecord::Base.logger.level = 0
,.