2
我有一个Rake任务取决于Rake :: PackageTask。我需要我自己的任务在我们的日志中输出,但是我不需要包任务中的超过1000行输出。我可以以编程方式沉默Rake任务吗?
有什么办法可以让Rake :: PackageTask沉默?或者有没有一种方法可以以编程方式沉默任何任务,而无需指定rake --silent
?
我有一个Rake任务取决于Rake :: PackageTask。我需要我自己的任务在我们的日志中输出,但是我不需要包任务中的超过1000行输出。我可以以编程方式沉默Rake任务吗?
有什么办法可以让Rake :: PackageTask沉默?或者有没有一种方法可以以编程方式沉默任何任务,而无需指定rake --silent
?
在调用静默rake任务之前,您可以将日志重定向到/ dev/null。然后恢复他们回来..
dev_null = Logger.new("/dev/null")
Rails.logger = dev_null
ActiveRecord::Base.logger = dev_null
Rake::Task['blah_blak'].invoke
#then restore the logger back
的[在rake任务分贝禁止输出:架构:负载]
我希望有一个更优雅的解决方案,但是哦... :) – awendt
可能重复(http://stackoverflow.com/questions/12079436/suppress-output-in-rake-task -dbschemaload) –
@ManuelMeurer我想说这不是,但答案将适合在这里。最初的问题陈述听起来不同。 – awendt