2017-04-05 144 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