我们使用heroku的日志排水将日志聚合到papertrail。一切都很好,除了,我不确定如何从我们用来运行脚本的一次性测功机设置日志记录。
我以为排水配置将适用于一次性测功机,但我没有看到我期望从我们使用 heroku 调度程序运行的作业中获得的输出。为了弄清楚发生了什么,我试着跑步
# heroku run bash --app myapp
# babel-node
> var logger = require('bunyan/my_configured_logger');
> logger.info('YO');
我希望这会导致日志被运送到书面记录,但没有骰子。然后,我尝试了更简单的命令行
> logger "YO"
这也行不通。因此,要么我的测试被误导,要么排水配置不适用于一次性测功机。我认为前者更有可能。
如何测试日志排水管(为远程 papertrail 系统日志配置(是否正常工作?
尝试
heroku run:detached --app myapp babel-node -- -e 'var logger = require("bunyan/my_configured_logger"); logger.info("YO");'
这里的关键是在分离模式下运行测功机,以便stdout
和stderr
转到 Heroku 日志排水管而不是控制台。这意味着您无法以交互方式运行bash
,因此您必须传递 JavaScript 以在node
命令行上进行评估。