2015-06-11 93 views
4

我已經在我的rails應用程序中設置了Resque,並且它都工作正常。我有的問題是記錄器設置應該在哪裏。它應該在初始化程序還是在rake任務中?它在兩個設置中都有效。我問的原因是我已經看到它在整個網絡的例子中都有用到。我應該在我的rails應用程序中定義我的resque logger

我在想,它應該可能在初始化器中,因爲它是安裝到初始化器中的最佳實踐。

配置/初始化/ resque.rb

logfile = File.open(File.join(Rails.root, 'log', 'resque.log'), 'a') 
logfile.sync = true 
Resque.logger = ActiveSupport::Logger.new(logfile) 
Resque.logger.level = Logger::INFO 

我再寫出使用rake任務和作業Resque.logger語法。

E.G:

Resque.logger.info "Resque task started!" 

提前非常感謝。

編輯
我會堅持使用初始化程序。

回答

3

我肯定會把它放在初始化程序中,因爲在設置服務器時它只需要調用一次。

0

另一種選擇:如果在初始化程序(config/initializers/resquer.rb)或耙機(lib/tasks/resque.rake)中配置它的每個作業內的配置resque記錄器既不適合你,它不完美,但只是工作。

class OneJob 
    def self.perform 
    Resque.logger = Logger.new("#{Rails.root}/log/resque.log") 
    Resque.logger.level = Logger::DEBUG 

    Resque.logger.info 'Job starts' 
    ... 
    end 
en 
相關問題