如何处理一次性dynos中的日志排水?

时间:2017-05-23 17:46:28

标签: heroku syslog bunyan papertrail-app

我们正在使用heroku的日志记录将我们的日志聚合到papertrail。一切都很好,除了,我不知道如何设置一次性dynos的记录,我们用它来运行脚本。

我认为排水配置适用于一次性dynos,但我没有看到我期望从使用heroku调度程序运行的作业输出。为了弄清楚发生了什么,我尝试了

# heroku run bash --app myapp
# babel-node
> var logger = require('bunyan/my_configured_logger');
> logger.info('YO');

我希望这会导致日志被发送到papertrail,但没有骰子。那么,我尝试了更简单的命令行

> logger "YO" 

这也不起作用。因此,要么我的测试被误导,要么排水配置不适用于一次性dynos。我认为前者更有可能。

如何测试日志消耗(为远程papertrail syslog配置)是否正常工作?

1 个答案:

答案 0 :(得分:3)

尝试

heroku run:detached --app myapp babel-node -- -e 'var logger = require("bunyan/my_configured_logger"); logger.info("YO");'

这里的关键是以分离模式运行dyno,以便stdoutstderr转到Heroku日志排水管而不是控制台。这意味着您无法以交互方式运行bash,因此您必须传递JavaScript以在node命令行上进行评估。