web-dev-qa-db-de.com

wie kann man all console.log aus node.js in heroku anzeigen?

Ich habe eine node.js-Anwendung in node.js implementiert, kann jedoch nicht die vollständigen console.log-Anweisungen in meiner App anzeigen. Ich benutze:

heroku logs

Ein Teil der Protokollierung wird angezeigt, es sieht jedoch so aus, als wären es nicht die vollständigen Protokolle. Gibt es ein node.js-Paket zum Versenden von E-Mails von der bereitgestellten App? E-Mail funktioniert übrigens gut von meiner lokalen Maschine.

E-Mail-Code:

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

Aus dem heroku doc:

Der Befehl logs ruft standardmäßig 100 Protokollzeilen ab. Sie können angeben die Anzahl der abzurufenden Protokollzeilen (bis zu maximal 1.500 Zeilen) mit der Option --num (oder -n).

$ heroku logs -n 200

Daher müssen Sie wahrscheinlich mehr Zeilen mit -noption anfordern.

Je nach erhaltenem Kommentar können Sie auch das aktuelle Protokoll streamen mit:

$ heroku logs --tail

Bitte schau dir das Dokument an

36
michelem

Ich benutze immer heroku logs -t --app your-app-name Es hält die heroku Konsole offen. 

10

Das Problem scheint zu sein, dass der Heroku maximal 1500 Zeilen Protokolle enthält. Um beständig zu sein und mehr Historie sehen zu können, müssen Sie etwas Syslog-Drain hinzufügen, um die Protokolle abzufangen, oder ein Addon dafür verwenden. 

Es gibt auch "kostenlose" Addons zum Speichern von Protokollen wie Logentries und Papertrail https://addons.heroku.com/#logging

2
Risto Novik

Ich benutze:

heroku logs -n 1000 --tail

diese 1000 ist die Anzahl der Zeilen, die Sie sehen möchten, und kann bis zu 1500 betragen.

0