Node.jsアプリケーションをnode.jsにデプロイしましたが、アプリから完全なconsole.logステートメントを見ることができません。使っています:
heroku logs
一部のログは表示されますが、完全なログではないようです。デプロイされたアプリからメールを送信するnode.jsパッケージはありますか? 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);
}
});
Heroku docから:
Logsコマンドは、デフォルトで100行のログを取得します。 --num(または-n)オプションを使用して、取得するログ行数(最大1,500行まで)を指定できます。
$ heroku logs -n 200
したがって、おそらく-n
optionを使用してさらに行を要求する必要があります。
受け取ったコメントごとに、次のようにして現在のログをストリーミングすることもできます。
$ heroku logs --tail
私はいつもheroku logs -t --app your-app-name
herokコンソールを開いたままにします。
問題は、Herokuが最大1500行のログを保持していることのようです。持続し、より多くの履歴を表示できるようにするには、syslogドレインを追加してログを取得するか、アドオンを使用する必要があります。
LogentriesやPapertrailなどのログを保存するための「無料の」アドオンもあります https://addons.heroku.com/#logging 。
私が使う:
heroku logs -n 1000 --tail
その1000は表示する行の数であり、最大で1500行です。