Module console de Node.js

Java FileModules intégrés de Node.js


consoleLe module est l'un des modules intégrés les plus couramment utilisés dans Node.js, offrant une console de débogage simple similaire à l'objet JavaScriptconsoledans le navigateur.


Utilisation de base du module console

1. Afficher des informations générales

console.log()C'est la méthode la plus couramment utilisée, servant à afficher des informations générales :

Exemple

console.log('Hello, Node.js!');
// Sortie : Hello, Node.js!

2. Afficher les messages d'erreur

console.error()Il est utilisé pour afficher les messages d'erreur, qui sont envoyés vers stderr par défaut :

Exemple

console.error('This is an error message');
// Sortie (rouge) : This is an error message

3. Afficher les messages d'avertissement

console.warn()Il est utilisé pour afficher les messages d'avertissement :

Exemple

console.warn('This is a warning message');
// Sortie (jaune) : Ceci est un message d'avertissement

4. Afficher des messages d'information

console.info()etconsole.log()Semblable à console.log, il est utilisé pour afficher des messages d'information :

Exemple

console.info('Ceci est un message d'information');
// Sortie : Ceci est un message d'information

Fonctionnalités avancées du module console

1. Sortie formatée

Le module console prend en charge la sortie formatée similaire au style printf() du langage C :

Exemple

const name = 'Alice';
const age = 25;
console.log('Nom : %s, Âge : %d', name, age);
// Sortie : Nom : Alice, Âge : 25

Espaces réservés de format pris en charge :

  • %s- Chaîne
  • %d- Nombre (entier ou flottant)
  • %i- Entier
  • %f- Flottant
  • %o- Objet
  • %j - JSON

2. Fonctionnalité de chronométrage

console.time()etconsole.timeEnd()Elle peut être utilisée pour mesurer le temps d'exécution du code :

Exemple

console.time('array test');
const arr = [];
for (let i = 0; i < 1000000; i++) {
  arr.push(i);
}
console.timeEnd('array test');
// Sortie : array test: 12.345ms

3. Sortie groupée

console.group()etconsole.groupEnd()Il peut créer des groupes de messages repliables :

Exemple

console.group('User Details');
console.log('Name: Alice');
console.log('Age: 25');
console.groupEnd();

4. Sortie tabulaire

console.table()Il peut afficher des tableaux ou des objets sous forme tabulaire :

Exemple

const users = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 30 }
];
console.table(users);

5. Tests d'assertion

console.assert()Il est utilisé pour des tests d'assertion simples :

Exemple

const x = 5;
console.assert(x === 10, 'x devrait être 10');
// Sortie lorsque l'assertion est fausse : Échec de l'assertion : x devrait être 10

Options de configuration pour le module console

1. Flux de sortie personnalisés

Vous pouvez créer une instance Console personnalisée et spécifier différents flux de sortie :

Exemple

const { Console } = require('console');
const fs = require('fs');

const output = fs.createWriteStream('./stdout.log');
const errorOutput = fs.createWriteStream('./stderr.log');

const logger = new Console(output, errorOutput);

logger.log('Ceci sera écrit dans stdout.log');
logger.error('Ceci sera écrit dans stderr.log');

2. Couleurs et styles

Dans les terminaux qui prennent en charge les couleurs ANSI, la sortie de la console peut être colorée :

Exemple

console.log('\x1b[36m%s\x1b[0m', 'Cyan colored text');

Ou utilisez des bibliothèques tierces telles quechalkpour simplifier le contrôle des couleurs :

Exemple

const chalk = require('chalk');
console.log(chalk.blue('Blue text'));

Bonnes pratiques

  1. Journaux d'environnement de production: Dans les environnements de production, il est recommandé d'utiliser une bibliothèque de journalisation dédiée telle quewinstonoubunyanau lieu de console.
  2. Évitez l'utilisation excessive: N'utilisez console que pendant le développement et le débogage ; les instructions console inutiles doivent être supprimées du code de production.
  3. Considérations de performance: console.log est synchrone, donc utilisez-le avec prudence dans les scénarios sensibles aux performances.
  4. Gestion des erreurs: Utilisez console.error pour enregistrer les messages d'erreur afin de faciliter la différenciation et le filtrage.

Liste des méthodes et propriétés

Voici lesconsoleprincipales méthodes et propriétés du module Node.js :

Méthode/Propriété Description Flux de sortie Version introduite
console.log([data][, ...args]) Affiche sur stdout avec un saut de ligne stdout 0.1.100
console.error([data][, ...args]) Affiche sur stderr avec un saut de ligne stderr 0.1.100
console.warn([data][, ...args]) Alias de console.error stderr 0.1.100
console.info([data][, ...args]) Alias de console.log stdout 0.1.100
console.debug([data][, ...args]) Afficher les informations de débogage sur stdout stdout 8.0.0
console.dir(obj[, options]) Utiliser util.inspect() sur un objet et afficher le résultat stdout 0.1.100
console.time([label]) Démarrer un minuteur - 0.1.100
console.timeEnd([label]) Arrêter le minuteur et afficher le résultat stdout 0.1.100
console.timeLog([label][, ...data]) Afficher la valeur actuelle du minuteur stdout 10.7.0
console.trace([message][, ...args]) Afficher une trace de pile sur stderr stderr 0.1.100
console.assert(value[, message][, ...args]) Si value est falsy, l'assertion échoue et message est affiché stderr 0.1.100
console.clear() Tenter d'effacer la console - 8.3.0
console.count([label]) Compter le nombre d'appels à label stdout 8.3.0
console.countReset([label]) Réinitialiser le compteur stdout 8.3.0
console.group([...label]) Indenter la sortie suivante stdout 8.5.0
console.groupEnd() Terminer le groupe indenté actuel stdout 8.5.0
console.table(tabularData[, properties]) Afficher les données sous forme de tableau stdout 10.0.0
console.dirxml(...data) Si disponible, appelez console.log pour afficher une arborescence XML/HTML stdout -

Propriétés spéciales

Propriété Description
console.stdout Flux inscriptible vers la sortie standard
console.stderr Flux inscriptible vers la sortie d'erreur standard

Le module console de Node.js est un outil de débogage simple mais puissant, offrant une variété de méthodes allant de la journalisation de base à des fonctionnalités avancées telles que la mesure de temps et la sortie tabulaire. Maîtriser l'utilisation du module console peut considérablement améliorer l'efficacité de développement et l'expérience de débogage.

Java FileModules intégrés de Node.js