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

Posted

技术标签:

【中文标题】如何在heroku中显示node.js中的所有console.log?【英文标题】:how to show all console.log from node.js in heroku? 【发布时间】:2015-09-06 22:15:43 【问题描述】:

我已将 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);
        
    );

【问题讨论】:

您在寻找什么日志? console.log 来自部署到 heroku 的 node.js 服务的日志。我可以看到它们的一部分。为什么 nodemailer 1.3.4 不能在 heroku 盒子上运行? nodemailer 在 Heroku 上应该可以正常工作,你能给我们你的代码吗?我不明白您是否在查看日志或发送电子邮件时遇到问题 @Michelem 我已经添加了上面的电子邮件代码。 好的,有什么问题? 【参考方案1】:

我用:

heroku logs -n 1000 --tail

那 1000 是你想看到的行数,最多可以是 1500。

【讨论】:

【参考方案2】:

来自 heroku 文档:

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

$ heroku logs -n 200

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

根据收到的评论,您还可以通过以下方式流式传输当前日志:

$ heroku logs --tail

请look at the doc

【讨论】:

您也可以使用heroku logs --tail 将所有日志流式传输。【参考方案3】:

我总是使用heroku logs -t --app your-app-name 它使 heroku 控制台保持打开状态。

【讨论】:

【参考方案4】:

问题似乎在于 Heroku 最多可以保存 1500 行日志。要持久保存并能够查看更多历史记录,您必须添加一些 syslog 消耗来捕获日志或为此使用一些插件。

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

【讨论】:

以上是关于如何在heroku中显示node.js中的所有console.log?的主要内容,如果未能解决你的问题,请参考以下文章

连接到 Heroku node.js 应用程序中的数据库,而不在 git 上显示身份验证详细信息

无法在 heroku 上推送 node.js 应用程序

端口错误:heroku 中的 vue.js+node.js 项目

Heroku+Node.js 如何克隆 node_modules?

部署后如何在 Heroku 中维护不在 git repo 中的文件

Node.js 应用程序无法在 heroku 上启动