roidrage / lograge

An attempt to tame Rails' default policy to log everything.
http://www.paperplanes.de/2012/3/14/on-notifications-logsubscribers-and-bringing-sanity-to-rails-logging.html
MIT License
3.47k stars 300 forks source link

Quote values with multiple words #397

Open tombruijn opened 1 month ago

tombruijn commented 1 month ago

When a custom payload value is a String that contains multiple words, logfmt formatters break. Surround these values with quotes so that logfmt parsers don't think the second word is the start of the message I've chosen to let Ruby handle the escaping of the value by calling inspect so that single and double quotes are properly (double) escaped.

I don't know if the default KeyValue formatter is supposed to be logfmt compatible, but it's very close so following the logfmt format here for escaping multi word values seems like a good idea.

Change the RuboCop config to exclude all Ruby files in the spec dir for the "Metrics/BlockLength" rule so that the shared examples files aren't breaking the build.