Ruby on rails 3 如何覆盖使用“rails runner”调用的命令行作业的日志路径?

Ruby on rails 3 如何覆盖使用“rails runner”调用的命令行作业的日志路径?,ruby-on-rails-3,Ruby On Rails 3,我的Rails3应用程序包括几个通过cron调用的rails runner作业 我想将通过cron运行的作业的输出发送到另一个日志文件,然后是普通web请求的日志输出 我希望避免仅仅为了这样做而创建一个单独的环境,因为除了日志输出的位置之外,所有内容都是相同的 从类似的问题中我能拼凑出的最好的建议是在初始化后重置path.log配置,方法如下 class SomeModel < ActiveRecord::Base def self.some_job Rails.

我的Rails3应用程序包括几个通过cron调用的rails runner作业

我想将通过cron运行的作业的输出发送到另一个日志文件,然后是普通web请求的日志输出

我希望避免仅仅为了这样做而创建一个单独的环境,因为除了日志输出的位置之外,所有内容都是相同的

从类似的问题中我能拼凑出的最好的建议是在初始化后重置path.log配置,方法如下

class SomeModel < ActiveRecord::Base

    def self.some_job
        Rails.configuration.paths.log = "/path/to/cron.log"
        //do some stuff
    end
end
。。。但不幸的是,这不起作用。日志输出仍然显示在log/{environment}.log中

有什么建议吗?答案是:

class SomeModel < ActiveRecord::Base
    ActiveRecord::Base.logger = Logger.new('/path/to/cron.log')

    def self.some_job
        //do some stuff
    end
end