【问题标题】:Rails: Log rake taskRails:记录 rake 任务
【发布时间】:2017-04-05 18:49:57
【问题描述】:

我正在尝试将 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 不是空白,也不会创建新的日志文件。 我应该如何做到这一点?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 logging rake-task


    【解决方案1】:

    问题是logger.close,请在启动服务器后查看如下消息:

    日志写入失败。闭流

    尝试从您的代码中删除 logger.close 并重新启动您的服务器。

    【讨论】:

    • 我的日志文件夹中仍然没有看到任何文件db_issues.log
    • 它在我的根文件夹中 -_- 。谢谢!
    • 要在日志文件夹下创建日志文件,您可以按照如下方式: logfile = File.open(File.join(Rails.root, 'log', 'db_issues.log'), 'a ') logger = Logger.new(logfile) logger.error "看看我"
    猜你喜欢
    • 2013-09-14
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 2016-03-23
    相关资源
    最近更新 更多