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

时间:2014-03-20 16:10:18

标签: node.js gulp

使用gulp时。有没有办法抑制某些任务的“已启动”和“已完成”日志条目?我想使用依赖树,但我在树中有一些我不想记录的任务,因为它们是具有自己的记录功能的中间步骤。

3 个答案:

答案 0 :(得分:27)

您可以在gulp CLI中使用--silent标志来禁用所有gulp日志记录。

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

答案 1 :(得分:7)

[UPDATE]

自2014年7月起,gulp(https://github.com/gulpjs/gulp/commit/3a62b2b3dbefdf91c06e523245ea3c8f8342fa2c#diff-6515adedce347f8386e21d15eb775605)添加了--silent个选项。

这在@slamborne下面的答案中得到了证明,如果它与您的用例匹配,您应该支持使用它而不是以下解决方案。

[/ 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]”(see gulp.util.log source code)的参数,并最终完全忽略它。

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

答案 2 :(得分:2)

迟到了,但我觉得从gulp-util no no使用noop会更好吗?

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

正如here

所述