我有一个像这样的佣金任务:
val rootLogger = Logger.getRootLogger()
rootLogger.setLevel(Level.ERROR)
当我从视图中的按钮调用rake任务时,rake任务中的所有内容都会按照我想要的方式运行。
但是,我无法看到我在我的终端内task :create_orders, [:my_param] => :environment do |t, args|
puts "hello"
Rails.logger.debug "hey"
end
和puts
内放置Rails.logger.debug
命令以启动localhost服务器的内容
我还尝试在项目文件夹中运行rails server
,但我的rake任务中没有显示tail -f log/development.log
或puts
个语句。
我该怎么做才能看到我在Rails.logger.debug
终端内的puts
和Rails.logger.debug
语句中的内容?
答案 0 :(得分:0)
我把它放在控制器的顶部:
require 'rake'
Rails.application.load_tasks
在调用rake任务的操作中,我将%x(bundle exec rake task_name)
替换为Rake::Task["task_name"].invoke
。
感谢mudasobwa的帮助!