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.