Mensagens de saída para o console.
Veja na biblioteca a fonte do log para mais informações.
A saída do Grunt deve ser consistente, e talvez até bonita. Como tal, há uma infinidade de métodos de registro, em alguns patterns úteis. Todos os métodos que atualmente registram alguma coisa são encadeáveis.
Observação: todos os métodos disponíveis através do grunt.verbose
agem da mesma forma que os métodos grunt.log
, mas somente registra se a opção da linha de comando --verbose
estiver especificada.
Registra a string msg
especificada em negrito, sem adicionar uma nova linha (\n).
grunt.log.write(msg)
Registra a string msg
especificada em negrito, com o caractere de nova linha (\n).
grunt.log.writeln([msg])
Se a string msg
é omitida, é registrado ERROR
em vermelho, caso contrário registra >> msg
em negrito, com o caractere de nova linha (\n).
grunt.log.error([msg])
Registra um erro com grunt.log.error
, envolvendo o texto com 80 colunas usando grunt.log.wraptext
.
grunt.log.errorlns(msg)
Se a string msg
é omitida, registra OK
em verde, caso contrário registra >> msg
em negrito, com o caractere de nova linha (\n).
grunt.log.ok([msg])
Registra uma mensagem de sucesso com grunt.log.ok
, envolvendo o texto com 80 colunas usando grunt.log.wraptext
.
grunt.log.oklns(msg)
Registra a string msg
especificada em negrito, com o caractere de nova linha (\n).
grunt.log.subhead(msg)
Registra uma lista de propriedades obj
(bom para depuração de flags)
grunt.log.writeflags(obj, prefix)
Registra uma mensagem de depuração (debug), mas somente se a opção da linha de comando --debug
foi especificada.
grunt.log.debug(msg)
Todos os métodos de registros disponíveis através do grunt.verbose
funciona exatamente como o homólogo grunt.log
, mas somente registra se a opção da linha de comando --verbose
foi especificada. Também há um homônimo "notverbose" disponível em ambos grunt.log.notverbose
e grunt.log.verbose.or
. Na verdade, a propriedade .or
pode ser usada em ambos verbose
e notverbose
para alternar efetivamente entre os dois.
Este objeto contém todos os métodos de grunt.log
mas somente registra se a opção da linha de comando --verbose
foi especificada.
grunt.verbose
Este objeto contém todos os métodos de grunt.log
mas somente registra se a opção da linha de comando --verbose
não foi especificada.
grunt.verbose.or
Estes métodos não registram atualmente, somente retornam algumas strings que podem ser usadas em outros métodos.
Retorna uma lista separada por vírgula dos itens do array arr
,
grunt.log.wordlist(arr [, options])
O objeto options
tem estas possíveis propriedades, e valores padrões:
var options = {
// A string separadora. (pode ser colorida).
separator: ', ',
// O item do array "color" (especifique falso para não colorir).
color: 'cyan',
};
Remove todas as informações de cores de uma string, tornando-a adequada para testar .length
ou talvez o registro de um arquivo.
grunt.log.uncolor(str)
Adiciona a string text
para os caracteres width
com \n
, assegurando que as palavras não são divididas no meio a menos que seja absolutamente necessário.
grunt.log.wraptext(width, text)
Adiciona o array de strings texts
para as colunas de caracteres width
. Um wrapper para o método grunt.log.wraptext
que pode ser usado para gerar a saída em colunas.
grunt.log.table(widths, texts)
Um pattern comum é somente registrar (log) quando a opção --verbose
OU se ocorrer um erro, como esse:
grunt.registerTask('something', 'Do something interesting.', function(arg) {
var msg = 'Doing something...';
grunt.verbose.write(msg);
try {
doSomethingThatThrowsAnExceptionOnError(arg);
// Successo!
grunt.verbose.ok();
} catch(e) {
// Alguma coisa deu errado.
grunt.verbose.or.write(msg).error().error(e.message);
grunt.fail.warn('Alguma coisa deu errado.');
}
});
Uma explicação do código acima:
grunt.verbose.write(msg);
registra a mensagem (sem uma nova linha (\n)), mas somente no modo--verbose
.grunt.verbose.ok();
registra OK em verde, com o caractere de nova linha (\n).grunt.verbose.or.write(msg).error().error(e.message);
faz algumas coisas:grunt.verbose.or.write(msg)
registra a mensagem (sem novas linhas) se não estiver no modo--verbose
, e retorna o objetonotverbose
..error()
registra "ERROR" em vermelho, com o caractere de nova linha (\n), e retorna o objetonotverbose
..error(e.message);
registra a atual mensagem de erro (e retorna o objetonotverbose
).grunt.fail.warn('Alguma coisa deu errado.');
registra um aviso em amarelo claro, terminando o Grunt com o código de saída 1, a menos que a opção da linha de comando--force
foi especificada.
Dê uma olhada no código fonte das tarefas grunt-contrib-* para mais exemplos.