I have deployed a node.js application to node.js but not able to see the complete console.log statements from my app. I am using:
heroku logs
Some of the logging is shown but looks like it is not the complete logs. Is there a node.js package to send emails from the deployed app? Email works fine from my localmachine btw.
Email code:
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);
}
});
I use:
that 1000 is the number of lines you want to see and can be up to 1500.
From the heroku doc:
So probably you need to request more lines with
-n
option.As per comment received, you can also stream the current log with:
Please look at the doc
The problems seems to be that the Heroku holds maximum 1500 lines of logs. To persists and have an ability to see more history you have to add some syslog drain to catch the logs or use some addon for that.
There are also "free" addons for storing logs like Logentries and Papertrail https://addons.heroku.com/#logging.
I always use
heroku logs -t --app your-app-name
It keeps the heroku console open .