Return full error context from ContextualError.Error() #1069
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix #1068 to provide more information from the
Error()
method of ContextualError objects.I manually tested to force inject an error and context into Nebula, and printed the error from a client program.
With this change, a full error message is output:
WARN[2024-01-30T11:43:05-05:00] Failed to initialize Nebula error="failed to start nebula: Failed to get a tun/tap device due to manufactured error (map[]): lol wat"
Without this change, only the underlying error is output:
WARN[2024-01-30T11:43:30-05:00] Failed to initialize Nebula error="failed to start nebula: lol wat"
I'm on the fence wrt the extra fields.