This fairly extensive commit in terms of the number of affected classes but relatively small conceptually. It is a refactoring of the LoggingEvent class. The LoggingEvent class now implements the ILoggingEvent interface which essentially contains getter methods with no setters. LoggingEvent is no longer serializable because the relavant serialization code has been moved into LoggingEventSDO. A LoggingEvent object now requires transformation into LoggingEventSDO object before serializaiton. LoggingEventSDO class implements the ILoggingEvent interface. SDO stands for Serialable Data Object. All logback-classic components, including appenders, layouts, converters now operate on ILoggingEvent instances. In other words, logback-classic module is now a specialized processing chain for ILoggingEvent objects, instead of LoggerEvent objects previously. The getStartTime method which was previously part of LoggingEvent has migrated to the Context interface. This change is a nice fit from a conceptual point of view. All tests pass. Performance is has not been degraded. In the future commits, the LoggerRemoteView may be renamed as LoggerSDO, and similarly, LoggerContextRemoteView as LoggerContextSDO.
parent
ec2bd607
Please register or sign in to comment