我按照这里描述的指南https://devcenter.heroku.com/articles/logging#creating-your-own-syslog-drain创建我自己的 rsyslog 排水管。
我使用以下行配置了我的 rsyslog:
:inputname, isequal, "imtcp" /var/log/heroku.log
这仅在我将 rsyslog 从 5.x 更新到 7.x 后才有效。一个错误阻止 rsyslog 使用端口 514。但更新后它运行良好。
但现在我想将日志拆分为每个应用程序一个文件。我发现了另一个关于我应该使用的说法的问题:
if $hostname isqual "d.123..." then /var/log/my_application.log
其中“d.123...”是 Heroku 提供的实际流失 ID。但这没有用。我按照rsyslog 站点上的文档尝试了几种变体。没有工作。
同样,使用一个文件有效。我配置为使用该排水管的 Heroku 上的每个应用程序都已成功将其日志发送给它。但似乎我不知道如何为每个应用程序拆分一个文件。
提前致谢。