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

我已经为node.js部署了一个node.js应用程序,但无法从我的应用程序中看到完整的console.log语句。 我在用:

heroku logs 

显示了一些日志logging,但看起来不是完整的日志。 是否有一个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); } }); 

从heroku文档:

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

 $ heroku logs -n 200 

所以可能你需要用-n选项来请求更多的行。

请看文档

问题似乎是,Heroku拥有最多1500行日志。 要坚持并有能力看到更多的历史logging,你必须添加一些系统日志漏洞来捕获日志或使用一些插件。

也有“免费”的插件来存储像Logentries和Papertrail的日志https://addons.heroku.com/#logging

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