Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quote values with multiple words #397

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

tombruijn
Copy link

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant