Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud. This integration allows you to send logs from your Heroku applications to your Logz.io account. #### Set up a Heroku log drain
Before you begin, you’ll need: Heroku CLI
Enable the runtime metrics
Optional - run the following command to include application run time metrics in your logs (for example, http status code, customer’s IP, and more):
heroku labs:enable log-runtime-metrics -a <<HEROKU-APP-NAME>>
Set up the log drain in Heroku CLI
Run this command in the command line.
heroku drains:add "https://<<LISTENER-HOST>>:8081?token=<<LOG-SHIPPING-TOKEN>>" -a <<HEROKU-APP-NAME>>
Replace <<LOG-SHIPPING-TOKEN>>
with the token of the account you want to ship to.
Replace <<LISTENER-HOST>>
with the host for your region. For example, listener.logz.io
if your account is hosted on AWS US East, or listener-nl.logz.io
if hosted on Azure West Europe. The required port depends whether HTTP or HTTPS is used: HTTP = 8070, HTTPS = 8071.
Replace <<HEROKU-APP-NAME>>
with the name of the app in Heroku.
You can add custom fields to each log message, allowing you to identify different Heroku apps and filter your data in Logz.io.
To do this, add &<<KEY>>=<<VALUE>>
to the end of the Logz.io URL.
For example:
heroku drains:add "https://<<LISTENER-HOST>>:8081?token=<<LOG-SHIPPING-TOKEN>>&<<KEY>>=<<VALUE>>" -a <<HEROKU-APP-NAME>>
Check Logz.io for your logs
Give your logs some time to get from your system to ours, and then open Open Search Dashboards to confirm you’re shipping logs.
If you still don’t see your logs, see log shipping troubleshooting.