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.
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.