2017-04-05 134 views
1

我正在嘗試將耙子任務的輸出記錄到新的日誌記錄器。理想的解決方案可用於開發和生產。Rails:日誌耙子任務

這是我的任務:

task :clients, [:field] => [:setup_logger] do |t, args| 
    clients = Client.all 
    problems = [] 

    group = clients.group_by { |client| client[args[:field]] } 
    unique_ids = group.keys 

    unique_ids.each do |unique_id| 
     problems << [unique_id, group[unique_id].length] if group[unique_id].length != 1 
    end 

    if !problems.blank? 
     logger = Logger.new("db_issues.log") 
     logger.error "look at me" 
     logger.close 
    end 

    p problems 
end 

當我運行此,即使problems不是空白,沒有創建新的日誌文件。 我該怎麼做到這一點?

回答

2

的問題是logger.close,看你啓動服務器後,像這樣的消息:

日誌寫入失敗。封閉流

嘗試從代碼中刪除logger.close並重新啓動服務器。

+0

我仍然沒有在我的日誌文件夾中看到任何文件'db_issues.log' –

+0

它位於我的根文件夾-_-中。謝謝! –

+1

要創建日誌文件夾下的日誌文件,您可以按照下列步驟操作: logfile = File.open(File.join(Rails.root,'log','db_issues.log'),'a') logger = Logger.new(日誌文件) logger.error「看着我」 – jissy