Ce sont deux fonctions différentes, qui font deux choses différentes. Apprenez à lire la source. Cela vous aidera beaucoup (même dans des langages comme le C# avec le réflecteur).
Sources
Console
https://github.com/joyent/node/blob/master/lib/console.js
Console.prototype.warn = function() {
this._stderr.write(util.format.apply(this, arguments) + '\n');
};
Console.prototype.error = Console.prototype.warn;
Utils
https://github.com/joyent/node/blob/master/lib/util.js
exports.debug = function(x) {
process.stderr.write('DEBUG: ' + x + '\n');
};
Fonctions du journal :
Console
exports.log = function() {
process.stdout.write(format.apply(this, arguments) + '\n');
};
Utils
exports.log = function(msg) {
exports.puts(timestamp() + ' - ' + msg.toString());
};
exports.puts = function() {
for (var i = 0, len = arguments.length; i < len; ++i) {
process.stdout.write(arguments[i] + '\n');
}
};
Pourquoi
Comme avec tout autre système orienté Unix, dont le nœud est très certainement orienté sous l'apparence de - voir les nombreux commentaires de Ryan sur le sujet, les fonctions de journalisation sont données sous la même apparence. Il existe deux classes de base pour la journalisation, et elles font toutes deux effectivement la même chose, mais pour des raisons différentes. Pour l'observateur occasionnel, elles sont identiques, mais elles ne le sont pas vraiment.
Journalisation de la console est destiné à être utilisé pendant le débogage. Cette commande sera envoyée à STDOUT et affichera vos déclarations dans le REPL. 1 console, utile pour le débogage.
Enregistrement des utilitaires est destiné à être utilisé pendant l'exécution des services standard. Ils passeront par le processus STDOUT, qui est souvent un fichier journal du processus.
Mais comme il est possible de passer outre au besoin, et parce que cela sera différent à l'avenir (très probablement) pour les processus Windows (étant donné les nouveaux ports et développements) et d'autres systèmes, vous devriez essayer d'utiliser ces méthodes comme suit la manière de facto d'écrire dans les journaux pendant l'exécution normale. . Parmi les exemples de différences avec Windows, citons l'utilisation du journal du système pour la journalisation, par opposition à un simple fichier journal.
Alors comment savoir lequel il vous faut ?
Si vous avez l'intention de l'exécuter dans le REPL pour le débogage, utilisez le logger de la console. Si vous avez l'intention de démarrer le service et de l'oublier, utilisez le logger utils.
<sup>1 </sup>- Lire Evaluer Imprimer Boucle