grunt.log
向控制台信息。
参见 以更多信息。
The log API
Grunt的应当看上去一致、美观。因此, 就有了这些log和一些有用的模式。所有用于日志的都可以链式。
注意:只有在命令行中指定 --verbose 选项时,所有 grunt.verbose 中的才会日志,并且完全像 grunt.log 中的一样工作。
指定的 msg 字符串日志,结尾不带换行符(newline)。
grunt.log.write(msg)
指定的 msg 字符串日志,结尾带换行符(newline)。
grunt.log.writeln([msg])
如果省略msg 字符串,将会以红色字体ERROR,否则>> msg,并且尾部带有换行符。
grunt.log.error([msg])
使用grunt.log.error记录日志,使用grunt.log.wraptext可以将日志以每行80个字符的形式。
grunt.log.errorlns(msg)
如果省略msg字符串,将会以绿色字体OK, 否则>> msg,并且尾部带有换行符。
grunt.log.ok([msg])
使用grunt.log.ok记录一条ok消息,使用grunt.log.wraptext可以将日志以每行80个字符的形式。
grunt.log.oklns(msg)
记录指定的msg字符串并加粗,尾部带有换行符。
grunt.log.subhead(msg)
记录obj的列表(用于调试标志最好)。
grunt.log.writeflags(obj, prefix)
记录一条调试信息,但是,仅当在命令行中指定 --debug选项时才会。
grunt.log.debug(msg)
Verbose 和 Notverbose
所有grunt.verbose下可用的日志记录的工作都酷似它们所对应的grunt.log,但是它们只在指定--verbose命令行选项的情况下才一样。还有对应"notverbose"适用于grunt.log.notverbose和grunt.log.verbose.or。实际上,.or也可以用于在verbose和notverbose两者之间有效的进行切换。
这个对象包含grunt.log下的所有,但是只在指定--verbose命令行选项情况下它才会日志信息。
grunt.verbose
这个对象也包含grunt.log下的所有,但是只在不指定--verbose命令行选项情况下它才会日志信息。
grunt.verbose.or
工具
这些实际上不记录日志,它们只返回字符串,返回的字符串可以用于其他。
Returns a comma-separated list of arr array items. arr 数组中的条目将会以逗号分割的形式返回。
grunt.log.wordlist(arr [, options])
options 对象拥有以下和认值:
var options = { // The separator string (can be colored). separator: ', ', // The array item color (specify false to not colorize). color: 'cyan', };
从字符串中移除所有颜色信息,使其适合检测其 .length 或写入日志。、
grunt.log.uncolor(str)
以 width 个字符为一组将 text 字符串进行分解并 \n 字符,除非绝对必要,否则将尽量确保不会从中间截断单词。
grunt.log.wraptext(width, text)
以 width 个字符为一组将 text 字符串进行分解。Wrap texts array of strings to columns widthscharacters wide. A wrapper for the grunt.log.wraptext method that can be used to generate output in columns.
grunt.log.table(widths, texts)
案例
通常的模式是,只有在 --verbose 模式或发生时才日志,如下所示:
grunt.registerTask('something', 'Do something interesting.', function(arg) { var msg = 'Doing something...'; grunt.verbose.write(msg); try { doSomethingThatThrowsAnExceptionOnError(arg); // Success! grunt.verbose.ok(); } catch(e) { // Something went wrong. grunt.verbose.or.write(msg).error().error(e.message); grunt.fail.warn('Something went wrong.'); } });
解释以上:
grunt.verbose.write(msg); 只有在 --verbose 模式时才会日志信息(没有换行符)。
grunt.verbose.ok(); 以绿色日志信息,末尾换行符。
grunt.verbose.or.write(msg).error().error(e.message); 做了以下几件事:
grunt.verbose.or.write(msg) 如果不在 --verbose 模式则日志信息,然后返回notverbose 对象。
.error() 以红色ERROR日志,结尾换行符,然后返回 notverbose 对象。
.error(e.message); 实际的信息(并返回 notverbose 对象)。
grunt.fail.warn('Something went wrong.'); 以嫩黄色警告信息。除非在命令行指定了--force 选项,否则码1,然后 Grunt。
查看 以更多案例。