2013-10-22 112 views
0

我想在Proc方法中記錄一些變量,但它不寫入日誌文件。Proc和日誌記錄

Rails.logger.info("testing") 
Proc.new do 
    Rails.logger.info("testing again") 
end 

它只在日誌文件中打印測試。

另外我試圖在Proc過程中寫一個新的日誌文件,它再也沒有做任何事情。

Rails.logger.info("testing") 
Proc.new do 
    log = Logger.new('proc.log') 
    log.info('testing') 
end 

請幫我記錄變量或解釋如何從Proc過程中檢查它們?

預先感謝

回答

2

這是因爲PROC本身不執行的代碼,但只是返回代碼塊作爲對象。所以你需要調用這個對象。

Rails.logger.info("testing") 
my_proc = Proc.new do 
    Rails.logger.info("testing again") 
end 
my_proc.call 

Proc in Ruby