Can I programmatically silence Rake tasks?

3
我有一个依赖于Rake::PackageTask的Rake任务。我需要在我们的日志中获取自己任务的输出,但我不需要来自包任务的1000多行输出。
有没有办法使Rake::PackageTask静音?或者有没有一种编程方式可以使任何任务保持沉默,而无需指定' rake --silent '?

@ManuelMeurer 我本来想说不是这样的,但回答可以适用于这里。最初的问题陈述听起来有些不同。 - awendt
1个回答

2

在调用静默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

3
我本希望有一种更优雅的解决方案,但还是没关系... :) - awendt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接