J'ai déployé une application node.js sur node.js mais je ne suis pas en mesure de voir l'intégralité des instructions console.log à partir de mon application. J'utilise:
heroku logs
Une partie de la journalisation est affichée mais semble ne pas être complète. Existe-t-il un package node.js pour envoyer des emails à partir de l'application déployée? Le courrier électronique fonctionne bien de mon localmachine.
Code email:
console.log('try to send email hold on');
var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTransport({
service: "Gmail",
auth: {
user: "[email protected]",
pass: "mypw"
}
});
smtpTransport.sendMail({
from: "Dikkebil", // sender address
to: "[email protected]", // comma separated list of receivers
subject: "Error body", // Subject line
text: 'Error body: ' +error.body+ '\n'+ 'error type:' + error.type +'\n' +'error statuscode:' +error.statusCode +'\n' + 'error args:' + error.arguments[0]
}, function(error, response){
if(error){
console.log(error);
}else{
console.log("Message sent: " + response.message);
}
});
De la doc heroku:
La commande logs récupère 100 lignes de journal par défaut. Vous pouvez spécifier le nombre de lignes de journal à extraire (jusqu'à 1 500 lignes) en utilisant l'option --num (ou -n).
$ heroku logs -n 200
Il est donc probablement nécessaire de demander plus de lignes avec -n
option.
Selon les commentaires reçus, vous pouvez également diffuser le journal actuel avec:
$ heroku logs --tail
S'il vous plaît regardez la doc
J'utilise toujours heroku logs -t --app your-app-name
Cela permet de garder la console heroku ouverte.
Le problème semble être que le Heroku contient au maximum 1500 lignes de bûches. Pour persister et pouvoir voir plus d'histoire, vous devez ajouter un drain syslog pour récupérer les journaux ou utiliser un addon pour cela.
Il existe également des addons "gratuits" pour stocker les journaux tels que Logentries et Papertrail https://addons.heroku.com/#logging .
J'utilise:
heroku logs -n 1000 --tail
1000 correspond au nombre de lignes que vous voulez voir et peut aller jusqu’à 1500.