我正在尝试将rake任务的输出记录到新的记录器。理想情况下,该解决方案可用于开发和生产。
这是我的任务:
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
不为空,也不会创建新的日志文件。 我该如何做到这一点?
答案 0 :(得分:2)
问题是logger.close
,请在服务器启动后查找如下消息:
日志写入失败。封闭的流
尝试从代码中删除logger.close
并重新启动服务器。