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 winstonEnsuite, 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.