Honor overriden writeObject
of JsonGenerator
passed to setJsonGeneratorDecorator
#968
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.
The order in which
JsonGeneratorDelegate
s are chained currently leads to disregard thewriteObject
method of theJsonGenerator
passed tosetJsonGeneratorDecorator
.The internal
SimpleObjectJsonGeneratorDelegate
indeed interceptswriteObject
for quite a number of concrete types:logstash-logback-encoder/src/main/java/net/logstash/logback/util/SimpleObjectJsonGeneratorDelegate.java
Lines 38 to 60 in 933a0f5
// etc.
The present change therefore consists in moving any user-defined
JsonGenerator
to the top level of the delegation chain, leaving users the power (and therefore the responsibility) to adjust the output to their needs.