我在哪里可以找到我的日志文件?

时间:2017-09-12 19:08:45

标签: ruby cron ruby-on-rails-5 whenever logfile

我正在使用Rails 5的每个gem。我正在尝试解决问题,在config / schedule.rb创建了我的默认schedule.rb文件之后,我添加了一些日志记录指令

# Learn more: http://github.com/javan/whenever
set :environment, "development"

every 10.minutes do
  rake "events:calc_index", :output => {:error => 'error.log', :standard => 'cron.log'}
end

我重新启动了我的Rails服务器(不确定是否重要)但我没有看到这些日志文件在任何地方创建。我已经验证了我的crontab是通过运行“crontab -e”并查看作业

来设置的
0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd /Users/davea/Documents/workspace/newproj && RAILS_ENV=development bundle exec rake events:calc_index '

创建日志文件在哪里?

2 个答案:

答案 0 :(得分:0)

在schedule.rb文件中,您可以通过设置'输出'在全局或命令级别为命令指定重定向选项。变量。这个例子是全球性的:

  # adds ">> /path/to/file.log 2>&1" to all commands
  set :output, '/path/to/file.log'

并且您应该将此全局级别设置:输出高于您的工作定义,否则它将无法工作 例如:

# This works
set :output, {:error => '~/Desktop/z.error.log', :standard => '~/Desktop/z.standard.log'}

every 1.minute do
  command "python ~/Desktop/whe/config/z.py"
end

取自:https://github.com/javan/whenever/wiki/Output-redirection-aka-logging-your-cron-jobs

答案 1 :(得分:0)

根据每当文档 https://github.com/javan/whenever/wiki/Output-redirection-aka-logging-your-cron-jobs

你可以用 Rails 定义这样的输出:

set :output, "#{path}/log/cron.log"

因此,对于您的示例,您可以这样做:

every 10.minutes do
  rake "events:calc_index", output: {error: "#{path}/log/error.log", standard: "#{path}/log/cron.log"}
end