Updating the logging code to not throw away all class information #1493
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.
Description
We ran into a problem described in this PR: #1490 After some research I found that the
root of the problem is this function json_encode'ing
$record
when the contentsof
$record
may contain objects that do not supportJsonSerializable
but thatdo implement
toString()
. After a conversation w/ Joe it's been decided thatour Logging API will be to support the logging of arrays w/ objects that
implement a
toString()
function. The eagle-eyed may notice that this solutiondiffers from the one I put forth in the above PR. The reason being that the
original solution only supported the use case of having an array w/ top level
value objects and would not work as expected if a nested array is supplied with
an object that implements
toString()
.Motivation and Context
It's nice to have a logging api that works as expected.
Tests performed
All automated tests.
Checklist: