在使用gulp时。 有什么办法来抑制某些任务的“已启动”和“已完成”日志条目

在使用gulp时。 有什么办法来压制某些任务的“已启动”和“已完成”日志条目? 我想使用依赖关系树,但是我不想在日志树中logging几个任务,因为它们是具有自己的日志function的中间步骤。

[UPDATE]

截至2014年7月,一个 – --silent选项已被添加到gulp( https://github.com/gulpjs/gulp/commit/3a62b2b3dbefdf91c06e523245ea3c8f8342fa2c#diff-6515adedce347f8386e21d15eb775605 )。

这在下面的@slamborne答案中得到了certificate,如果它符合你的用例,你应该倾向于使用它而不是下面的解决scheme。

[/ UPDATE]

这是一种做法(在你的gulp文件中):

 var cl = console.log; console.log = function () { var args = Array.prototype.slice.call(arguments); if (args.length) { if (/^\[.*gulp.*\]$/.test(args[0])){ return; } } return cl.apply(console, args); }; 

…并且会忽略使用gutil.log发送的每条消息。

这里的技巧显然是检查发送到console.log的消息,看起来像“[ gulp.util.log ]”( 见gulp.util.log源代码 )的第一个参数,并最终完全忽略它。

现在,这真的很肮脏 – 如果没有家长监督,你真的不应该这样做,而且你已经被警告:-)

您可以使用带有gulp CLI的--silent标志来禁用所有的gulp日志logging。

https://github.com/gulpjs/gulp/blob/master/docs/CLI.md

有点迟了,但我认为这将是更好的使用noop从gulp-util否?

 var gutil = require('gulp-util'); // ... gutil.log = gutil.noop; // or gutil.log = function() { return this; }; 

如这里所述