web-dev-qa-db-fra.com

comment afficher tous les fichiers console.log à partir de node.js dans heroku?

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);
        }
    });
30
Pindakaas

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 -noption.

Selon les commentaires reçus, vous pouvez également diffuser le journal actuel avec:

$ heroku logs --tail

S'il vous plaît regardez la doc

36
michelem

J'utilise toujours heroku logs -t --app your-app-name Cela permet de garder la console heroku ouverte. 

10

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

2
Risto Novik

J'utilise:

heroku logs -n 1000 --tail

1000 correspond au nombre de lignes que vous voulez voir et peut aller jusqu’à 1500.

0
ILoveReactAndNode