我的Rails3应用程序包括通过cron调用的几个“rails runner”作业。
我想将通过cron运行的作业的输出发送到不同的日志文件,然后将正常Web请求的日志输出发送。
我想避免创建一个单独的环境来执行此操作,因为除了日志输出的位置之外,所有内容都是相同的。
我可以从类似问题中拼凑出来的最佳建议是在初始化后重置paths.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。
中有什么建议吗?
答案 0 :(得分:0)
答案是:
class SomeModel < ActiveRecord::Base
ActiveRecord::Base.logger = Logger.new('/path/to/cron.log')
def self.some_job
//do some stuff
end
end