2016-09-16 72 views
0

我真的不知道是否有什麼辦法,如何創建自定義與on Rails的任何錯誤即時同步記錄..Rails的自定義錯誤日誌

所以它應該是一樣production.log只是錯誤消息。 例如,然後我可以使用:tail -f log/error-prod.log

謝謝!

回答

2

您可以使用rescue_from捕獲ApplicationController中的錯誤,然後在重新引發錯誤之前將該錯誤寫入日誌。

class ApplicationController < ActionController::Base 
    rescue_from StandardError, with: :log_error 

    private 

    def log_error(e) 
    error_log.info(e.message) 
    raise(e) 
    end 

    def error_log 
    @error_log ||= Logger.new(Rails.root.join('log', "error-#{Rails.env.to_s}.log")) 
    end 
end 
+0

ü失蹤有')''在@ error_log'結束,然後我仍然得到這個錯誤'的ApplicationController中未定義的局部變量或方法「的log_error」:類你是什麼意思? logger' – liborza

+0

抱歉修復:'用::log_error'不用':用log_error'。 – Kris

+0

是的,我只是寫道,有缺少':'但看起來不錯,試圖提出一個錯誤 – liborza