Quelle est la bonne façon de quitter le script node.js avec un message de journal?

J'ai un node.js script qui fait la journalisation dans un fichier à l'aide de WriteStream. Sur certains événements, je veux arrêter l'exécution du script, c'est à dire avertir d'enregistrer et de quitter tout de suite après. Étant asyncronious node.js ne nous permettent pas de le faire directement en avant comme:

#!/usr/local/bin/node

var fs = require('fs');
var stream = fs.createWriteStream('delme.log', { flags: 'a' });

stream.write('Something bad happened\n');
process.exit(1);

Au lieu d'ajouter un message à delme.journal de ce script ne fait rien avec le fichier. Manipulation 'exit' de l'événement et de rinçage ne fonctionne pas. La seule façon d'écrire le dernier message de log avant exitting trouvé pour l'instant est d'envelopper process.exit(1) dans le setTimeout():

#!/usr/local/bin/node

var fs = require('fs');
var stream = fs.createWriteStream('delme.log', { flags: 'a' });

stream.write('Something bad happened\n');
setTimeout(function(){
  process.exit(1);
}, 30);

Cependant, dans cette forme, il ne s'arrête pas l'exécution du script immédiatement et le script va être en cours d'exécution pendant un certain temps après l'événement critique qui s'est passé. Alors je me demandais si il y a d'autres façons à la sortie d'un script avec un message de log?

source d'informationauteur nab