Skip to content
  • Stan Hu's avatar
    Add structured logging for Rails processes · e2b1c16a
    Stan Hu authored
    This introduces JSON logging for Rails views saved to a file called
    `development_json.log`, `production_json.log`, etc.
    
    For example, instead of this unparsable log:
    
    ```
    Started GET "/" for 127.0.0.1 at 2012-03-10 14:28:14 +0100
    Processing by HomeController#index as HTML
      Rendered text template within layouts/application (0.0ms)
      Rendered layouts/_assets.html.erb (2.0ms)
      Rendered layouts/_top.html.erb (2.6ms)
      Rendered layouts/_about.html.erb (0.3ms)
      Rendered layouts/_google_analytics.html.erb (0.4ms)
    Completed 200 OK in 79ms (Views: 78.8ms | ActiveRecord: 0.0ms)
    ```
    
    We get a single line with this:
    
    ```
    {"method":"GET","path":"/,"format":"html","controller":"HomeController","action":"index","status":200,"duration":79,"view":78.8,"db":0.0,"location":"http://localhost/","time":"2017-07-18 09:35:17 -0700"}
    ```
    
    Part of #20060
    e2b1c16a