JavaScript:
Écrire sur l'erreur standard

Comment faire :

Dans Node.js, écrire dans stderr peut être accompli en utilisant la méthode console.error() ou en écrivant directement dans process.stderr. Voici des exemples démontrant les deux approches :

// Utilisation de console.error()
console.error('Ceci est un message d\'erreur.');

// Écriture directe dans process.stderr
process.stderr.write('Ceci est un autre message d\'erreur.\n');

La sortie d’échantillon pour les deux méthodes apparaîtrait dans le flux stderr, sans se mélanger avec stdout :

Ceci est un message d\'erreur.
Ceci est un autre message d\'erreur.

Pour une journalisation plus sophistiquée ou spécifique à l’application, de nombreux programmeurs JavaScript utilisent des bibliothèques tierces comme winston ou bunyan. Voici un rapide exemple utilisant winston :

D’abord, installez winston via npm :

npm install winston

Ensuite, configurez winston pour enregistrer les erreurs dans stderr :

const winston = require('winston');

const logger = winston.createLogger({
  levels: winston.config.syslog.levels,
  transports: [
    new winston.transports.Console({
      stderrLevels: ['error']
    })
  ]
});

// Enregistrer un message d'erreur
logger.error('Erreur enregistrée par winston.');

Cette configuration garantit que lorsque vous enregistrez une erreur en utilisant winston, celle-ci est dirigée vers stderr, aidant à maintenir une séparation claire entre les sorties standard et d’erreur.