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 を使用できませんでした。しかし、アップデート後は問題なく動作しました。
しかし今、ログをアプリケーションごとに 1 つのファイルに分割したいと考えています。私はそれについて別の質問を見つけました:
if $hostname isqual "d.123..." then /var/log/my_application.log
「d.123...」は、Heroku が提供する実際のドレイン ID です。しかし、それはうまくいきませんでした。rsyslog サイトのドキュメントに従って、いくつかのバリエーションを試しました。どれも機能しませんでした。
繰り返しますが、1 つのファイルを使用するとうまくいきました。そのドレインを使用するように構成した Heroku 上のすべてのアプリは、ログを正常に送信しました。しかし、アプリケーションごとにファイルを分割する方法が見つからないようです。
前もって感謝します。