6のログをPapertrailに出力するHerokuにデプロイしたLaravelアプリケーションのログメッセージをHerokuのログシステムに出力して、Papertrailに連携する手順と説明をまとめました。Laravelのバージョンは、2019年9月時点での最新6.0で確認しています。Center」によると、Herokuのログ管理システム(Logplexという)はstdoutおよびstderrに出力されるメッセージをログストリームとして集めます。logsコマンドで確認できるログメッセージは各Dynoからここに集められたログを見ているわけです。そこで、Laravelの場合もstrerrにログが出力されるように設定します。Herokuのドキュメントの「Laravel」に記載されている通り、環境変数LOG_CHANNELにerrorlogをセットするだけでOKです。LoggingのConfigurationに記載されているとおり、monologのErrorLogHandlerを使用します。ErrorLogHandlerはerror_log関数を使ってログメッセージを書き込んでいます。Herokuにデプロしたアプリケーションからerror_log関数で出力したメッセージはstderrを介してLogplexに集約されるようになっているので、Laravelのログ出力をHerokuのログとして出力することができるようになっています。次にPapertrailへのログ出力です。limits」によると、最大の15000行が1週間のみ保持されます。それ以上のログを残しておきたい場合はPaperTrailなどのログ管理サービスを利用する必要があります。PapertrailをHerokuアプリケーションで利用するには、以下のコマンドでアドオンを追加するだけです。アドオンが利用可能になると自動でPapertrailにログが送信されるようになります。Logplex!」とメッセージが出力されるように1行追加します。--tailを実行し、アプリケーションのトップページを表示すると、以下のようにLog::infoに書き込んだメッセージが確認できます。Papertrailへの出力も確認してみます。以下のコマンドを実行するとPapertrailが開きます。shortcutPapertrailにも同じくログメッセージを確認することができます。