title: Explain format of Heroku logs
body: <p>By default, Heroku generates two log messages for each request to a (Ruby) app. In each case, there are a few fields whose meanings are not obvious. First, the router message (as it appears in a logplex drain):</p>
  
  <p><code>&lt;158&gt;1 2014-08-04T18:28:43.078581+00:00 host heroku router - at=info method=GET path="/foo" host=app-name-7277.herokuapp.com request_id=e5bb3580-44b0-46d2-aad3-185263641044 fwd="50.168.96.221" dyno=web.1 connect=0ms service=2ms status=200 bytes=415</code></p>
  
  <p>Most of this is fairly obvious, but I have no idea about the <code>&lt;158&gt;1</code> at the beginning, the word <code>host</code> after the timestamp, and the <code>-</code> after "router".</p>
  
  <p>Next, the web app message:</p>
  
  <p><code>&lt;190&gt;1 2014-08-04T18:28:43.015630+00:00 host app web.1 - 50.168.96.221 - - [04/Aug/2014 18:28:43] "GET /foo HTTP/1.1" 200 12 0.0019</code></p>
  
  <p>This has the same mysteries as the router message, plus two more dashes after the IP address.</p>
  
  <p>Does anyone know of complete documentation for the Heroku log format? All of the sources I've been able to find online are quite vague.</p>