我已经将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);
}
});
答案 0 :(得分:36)
来自heroku doc:
logs命令默认检索100条日志行。你可以指定 要检索的日志行数(最多1,500行) 使用--num(或-n)选项。
$ heroku logs -n 200
因此,您可能需要使用-n
选项请求更多行。
根据收到的评论,您还可以使用以下内容流式传输当前日志:
$ heroku logs --tail
答案 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行。