Details
-
Wish
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Appenders, Layouts and the like that interact with LoggingEvent should support deferred processing.
This can be accomplished by having a distinct extract() method where the object constructs a value object containing the info needed for later processing from the LoggingEvent and other context (such as current thread, stack trace). At some later time, this value object may be rendered to complete the layout etc. This approach eliminates the need to preemptively collect information such as stack trace that may not be used or to clone the LoggingEvent to isolate the layout or appender from external changes.