2013-05-29 35 views
28

Tôi muốn xem một số biến trong điều khiển, nó thử như sau:Logging trong Ruby on Rails trong sản xuất Chế độ

Rails.logger.debug "Year: #{Time.now.year}"

puts "Year: #{Time.now.year}, Month: #{@month}"

nơi tôi có thể nhìn thấy đầu ra cho Logger hoặc đặt trong chế độ sản xuất? Tôi có cần phải thiết lập một cái gì đó để xem những nơi này?

Trả lời

79

Mức nhật ký bình thường trong sản xuất là info, vì vậy, debug nhật ký không được hiển thị.
Thay đổi đăng nhập của bạn để

Rails.logger.info "Year: #{Time.now.year}" 

để hiển thị nó trong production.log.

Ngoài ra (nhưng không phải là một ý tưởng tốt), bạn có thể nâng cao trình độ khai thác gỗ trong /config/environments/production.rb:

config.log_level = :debug 

Cập nhật Rails 4.2:

Bây giờ mức độ debug mặc định trong tất cả các môi trường là :debug (như @nabilh đã đề cập).
Nếu bạn muốn, bạn sản xuất môi trường ít chattery, bạn có thể thiết lập lại mức độ đăng nhập của bạn trong /config/environments/production.rb để cựu :info:

config.log_level = :info 
6

Trong khi tôi tin rằng @ martin-m là đúng mà bạn có thể không muốn lộn xộn của bạn nhật ký bằng cách sử dụng config.log_level = :debug trong /config/environments/production.rb, tôi tin rằng mức ghi nhật ký mặc định trong tất cả các môi trườngdebug là của Rails 4.2. Vì vậy, debug nhật ký (và tất cả các cấp) sẽ được hiển thị trong quá trình sản xuất trừ khi bạn chỉ định khác.

Vì vậy, để đáp ứng với câu hỏi của bạn, bây giờ bạn có thể viết:

Rails.logger.debug "Year: #{Time.now.year}" và xem kết quả trong /log/production.log.

Xem here để biết thêm tài liệu chi tiết. Here là tài liệu cho Rails 4.1 để so sánh.

Các vấn đề liên quan