1
我使用Gulp作为处理文本和图像的简单构建系统的一部分,并定义了一系列用于复制,处理和删除这些文件的通用任务。 Gulp和所用的插件在控制台中提供了很多输出,但是如何将这个输出保存在文件中?将Gulp控制台输出记录到文件
理想的情况下,控制台的确切内容将被记录到console.log
相同的格式,因为它出现在控制台(没有颜色,如控制台是常见的):
[13:35:21] Images: 208 items
[13:35:23] gulp-imagemin: Minified 208 images (saved 0 B - 0%)
[13:35:23] Finished 'build:images' after 19 s
[13:35:23] Starting 'clean:responsive'...
[13:35:23] Deleting /responsive/**/*
[13:35:23] Finished 'clean:responsive' after 171 ms
[13:35:23] Starting 'default'...
[13:35:23] Finished 'default' after 57 μs
许多咕嘟咕嘟的专注于日志记录的插件似乎主要是在已实现的控制台中执行此操作,并且只有gulp-messenger将其保存为文本(如json)。这可以通过例如gulp-util来实现吗?
这对于一个gulp插件来说并不是一份真正的工作。当你调用gulp时,你应该简单地将STDOUT和STDERR重定向到一个文件。在任何Unix系统上,都应该这样做:'gulp task-name> output.log 2>&1'。 –
我没有真正想到这一点,但你的例子(甚至在Windows上)的作品。只有它可以抑制控制台输出而有利于记录它。都可以发生?我想这与'2>&1'有关,但不太清楚如何解释。 – OleVik
'2>&1'将STDERR(2)重定向到STDOUT(1),有效地将两者合并。记录到控制台和Linux上的文件就像这样:'gulp task-name 2>&1 | tee output.log'。没有关于Windows的线索。 –