如何在heroku中显示来自node.js的所有console.log?

时间:2015-06-21 10:14:33

标签: node.js heroku nodemailer

我已经将node.js应用程序部署到node.js,但是无法从我的应用程序中看到完整的console.log语句。我正在使用:

heroku logs

显示了一些日志记录,但看起来它不是完整的日志。是否有node.js包来从已部署的应用程序发送电子邮件?电子邮件在我的本地机器上工作正常。

电子邮件代码:

console.log('try to send email hold on');
    var nodemailer = require("nodemailer");
    var smtpTransport = nodemailer.createTransport({
        service: "Gmail",
        auth: {
            user: "myemail@gmail.com",
            pass: "mypw"
        }
    });

    smtpTransport.sendMail({
        from: "Dikkebil", // sender address
        to: "myemail@gmail.com", // 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);
        }
    });

4 个答案:

答案 0 :(得分:36)

来自heroku doc:

  

logs命令默认检索100条日志行。你可以指定   要检索的日志行数(最多1,500行)   使用--num(或-n)选项。

$ heroku logs -n 200

因此,您可能需要使用-n选项请求更多行。

根据收到的评论,您还可以使用以下内容流式传输当前日志:

$ heroku logs --tail

look at the doc

答案 1 :(得分:11)

我总是使用heroku logs -t --app your-app-name它会打开 heroku 控制台。

答案 2 :(得分:2)

问题似乎是Heroku拥有最多1500行日志。要坚持并且有能力查看更多历史记录,您必须添加一些syslog消耗来捕获日志或使用一些插件。

还有用于存储Logentries和Papertrail https://addons.heroku.com/#logging等日志的“免费”插件。

答案 3 :(得分:0)

我用:

heroku logs -n 1000 --tail

1000是您想要查看的行数,最多可达1500行。