I reviewed the LOG4J2-1347 branch and I like the work Mikael did here. Replacing the deserialize(serialize(logevent)) sequences with Log4jLogEvent.createMemento() looks cleaner.
I could not see any issue and I don't mind if these changes are merged into master. (Implementing the feature requested in LOG4J2-1347 is a separate thing and will require more work.) Remko
