0

该应用程序正在引擎场上运行。我需要从Whenever运行的脚本中记录一些数据。这是它的样子:

时间表.rb:

every 1.minute do 
  rake 'my_tasks:task1 my_tasks:task2', :output => 'log/my_tasks.log'
end

task1运行其中包含以下行的脚本(仅用于测试目的):

... 

log('test')


...

def self.log(string)
  logfile = '/var/log/engineyard/apps/my_app/test_log.log'
  File.open(logfile, 'a') { |log| log.puts(string << "\n\n") }
end

问题是,无论我尝试什么,都没有创建任何日志(my_tasks.log、test_log.log)。当我bundle exec rake my_tasks:task1从控制台运行时,它成功创建了 test_log.log 文件并记录了消息。有什么问题?它与Engine Yard的工作方式有关吗?

4

1 回答 1

0

这可能与Engine Yard的工作方式有关。我对 Engine Yard 本身并不熟悉,但它与 Heroku 的服务类似,而且我知道要发送一些内容以登录 Heroku,您必须使用stdoutor stderr

有关 Heroku 的更多详细信息,请参见此处,并查看 Engine Yard 是否同样适用(请记住,这不允许您拥有单独的日志文件,它只是将记录的行与其他记录的行放在同一个日志文件中)

于 2012-06-28T08:15:41.363 回答