2017-10-05 4 views
0

J'ai besoin de reformater la sortie de console de HAPI pour cracher des exceptions avec la trace de pile dans une seule ligne. Tout ce que je vois ressemble à envoyer des informations différentes au client, mais j'ai besoin de reformater la sortie en stdout lorsqu'une exception se produit.Comment formater les erreurs sur stdout dans un serveur HAPI?

J'ai essayé d'ajouter un gestionnaire d'erreur de requête et d'écrire dans console.log, et je vois ma réponse formatée, mais la sortie de l'exception multiligne suit immédiatement après.

Comment formater une sortie d'exception?

Répondre

0

Essayez de faire console.log(new Error('asdf')) tout en regardant stdout.

La trace de la pile doit être inclus dans, mais voici comment isoler:

const test = new Error('test') 
 
    console.log(test.stack)

Je ne suis pas en cours d'exécution nœud en ce moment ou je confirme mes recommandations. En outre, je crois que console.error() écrit à stderr.

Lire ces:

Vous pourriez probablement faire quelque chose comme ceci:

const test = new Error('Detonations detected.') 
 
console.log(`\n 
 
    TIME: ${new Date().valueOf()} 
 
    ERROR: ${test.message} 
 
    STACK: ${test.stack} 
 
`) 
 
// Try this exactly as shown first so you can see 
 
// how the template literal is operating.

Est-ce que c'est ce que vous cherchez? J'espère que c'est assez illustratif.

+0

Peut-être que j'ai interprété ce problème. Essayez-vous de supprimer la sortie d'erreur Hapi et de mettre le vôtre? – agm1984