Skip to content

Add structured logging for Rails processes

Stan Hu requested to merge sh-structured-logging into master

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 (moved)

Edited by Stan Hu

Merge request reports