grunt.log

    查看log库源文件可以了解更多详细信息。

    Grunt输出看起来应该是一致的,甚至是漂亮的。因此,这里有大量的日志记录相关的方法和一些很有用的模式。所有的这些方法实际上记录的东西的都是可连接的。

    注意:所有下可用的方法都酷似grunt.log方法,不同的是,如果指定--verbose命令行选项,那么它就只会记录日志信息。

    输出指定的msg字符串信息,尾部不带换行符。

    grunt.log.weiteln/grunt.verbose.writeln

    输出指定的msg字符串信息,尾部带有换行符。

    1. grunt.log.writeln([msg]);

    grunt.log.error/grunt.verbose.error

    如果忽略了msg字符串,它会输出红色的ERROR信息;否则输出>> msg并且尾部带有换行符。

    1. grunt.log.error([msg])

    grunt.log.errorlns/grunt.verbose.errorlns

    使用grunt.log.error会输出一个错误日志信息,使用grunt.log.wraptext可以做到每80个文本就换行(即保证输出最大列数为80列)。

    1. grunt.log/errorlns(msg)

    grunt.log.ok/grunt.verbose.ok

    1. grunt.log.ok([msg])

    使用grunt.log.ok方法输出一个ok信息,使用grunt.log.wraptext可以做到每80个文本就换行。

    grunt.log.subhead/grunt.verbose.subhead

    以加粗的形式输出指定的msg字符串,尾部带有换行符。

    1. grunt.log.subhead(msg)

    grunt.log.writeflags/grunt.verbose.writeflags

    输出一个obj属性列表(它是很好的调试标志)。

    1. grunt.log.writeflags(obj, prefix)

    grunt.log.debug/grunt.verbose.debug

    输出一个调试信息,但是只在指定--debug命令行选项的情况下才会输出。

    1. grunt.log.debug(msg)

    所有grunt.verbose下可用的日志记录方法的工作都酷似它们所对应的grunt.log方法,但是它们只在指定命令行选项的情况下才一样。还有一个对应”notverbose”适用于grunt.log.notverbosegrunt.log.verbose.or。实际上,.or属性也可以用于在verbosenotverbose两者之间有效的进行切换。

    grunt.verbose/grunt.log.verbose

    这个对象包含grunt.log下的所有方法,但是只在指定--verbose命令行选项情况下它才会输出日志信息。

    1. grunt.verbose

    这个对象也包含grunt.log下的所有方法,但是只在不指定--verbose命令行选项情况下它才会输出日志信息。

    grunt.log.wordlist

    返回一个逗号分割的arr数组项目。

    1. grunt.log.wordlist(arr [, options])

    options对象可以使用以下属性,并且还可以设置它们默认值:

    1. var options = {
    2. // The separator string (can be colored).
    3. separator: ', ',
    4. // The array item color (specify false to not colorize).
    5. color: 'cyan',
    6. };

    grunt.log.uncolor

    从字符串中移除所有的彩色信息,使它适用于测试.length属性或者可以输出到一个日志记录文件中。

    1. grunt.log.uncolor(str)

    grunt.log.wraptext

    text字符串包装为width指定宽度字符列并在尾部添加一个\n(换行符),确保单词没有从中间分割,除非绝对必要的情况下才可以使用分割的单词。

    1. grunt.log.wraptext(width, text)

    grunt.log.table

    texts字符串数组包装为指定宽度的字符串列数。包装函数grunt.log.wraptext方法可以用于生成输出列。

    一个常见的模式,发生错误时,它只在指定--verbose mode OR选项的情况下输出日志信息。就像下面这样:

    1. grunt.registerTask('something', 'Do something interesting.', function(arg) {
    2. grunt.verbose.write(msg);
    3. try {
    4. doSomethingThatThrowsAnExceptionOnError(arg);
    5. // Success!
    6. grunt.verbose.ok();
    7. } catch(e) {
    8. // Something went wrong.
    9. grunt.verbose.or.write(msg).error().error(e.message);
    10. grunt.fail.warn('Something went wrong.');
    11. }
    12. });

    关于以上代码的说明:

    1. grunt.verbose.write(msg) 输出指定的信息(没有换行符),但是只在指定--verbose选项的模式下才能正常工作;
    2. grunt.verbose.ok() 输出绿色的OK信息,尾部带有换行符;
    3. grunt.verbose.or.write(msg).error().error(e.message)做了好几件事情:
      1. 如果不在指定--verbose选项的模式下则grunt.verbose.or.write(msg)输出信息(没有换行符),并且它会返回`norverbos对象;
      2. .error() 输出红色的ERROR信息,尾部带有换行符,它也会返回notverbose对象;
      3. .error(e.message); 输出实际的错误信息(同时返回notverbose对象);
    4. grunt.fail.warn('Something went wrong.'); 输出一个浅黄色的警告信息,可以使用出口代码退出Grunt,除非指定了--force选项。