Как показать все console.log из node.js в heroku?
Я развернул приложение node.js в node.js, но не смог просмотреть полные инструкции console.log из своего приложения. Я использую:
heroku logs
Некоторое из журналов отображается, но похоже, что это не полные журналы. Есть ли пакет node.js для отправки писем из развернутого приложения? Email работает отлично от моего localmachine btw.
Код эл. почты:
console.log('try to send email hold on');
var nodemailer = require("nodemailer");
var smtpTransport = nodemailer.createTransport({
service: "Gmail",
auth: {
user: "[email protected]",
pass: "mypw"
}
});
smtpTransport.sendMail({
from: "Dikkebil", // sender address
to: "[email protected]", // 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);
}
});
Ответы
Ответ 1
Из документа heroku:
Команда logs по умолчанию извлекает 100 строк журнала. Вы можете указать количество строк журнала для извлечения (максимум до 1500 строк) с помощью опции -num (или -n).
$ heroku logs -n 200
Вероятно, вам нужно запросить дополнительные строки с опцией -n
.
Пожалуйста, посмотреть документ
Ответ 2
Проблема заключается в том, что Heroku имеет максимум 1500 строк журналов. Чтобы упорствовать и иметь возможность видеть больше истории, вам нужно добавить дренаж syslog, чтобы поймать журналы или использовать для этого какой-то аддон.
Существуют также "бесплатные" аддоны для хранения журналов, таких как Logentries и Papertrail https://addons.heroku.com/#logging.
Ответ 3
Я всегда использую heroku logs -t --app your-app-name
Он держит консоль герою открытой.