Ceki Gulcu skrev:

The prepareForDeferredProcessing() method in the LoggingEvent class
addresses that problem. Whenever a logging event is about to be
serialized or transferred to another thread, you, as an author of an
appender, are supposed to call loggingEvent.prepareForDeferredProcessing().
I think that it would be appropriate to provide a flush mechanism on an appender (in lack of a better word) which is accessible through the configuration or pattern or code.

The flush mechanism would immediately run the String-flattening of the arguments making them safe from all these issues. If NOT invoked, the flattening would happen as lazily as possible.

I believe this behaviour should be explicitly enabled, keeping the default of immediately Stringifying when the event has been accepted for logging.

--
 Thorbjørn Ravn Andersen  "...plus... Tubular Bells!"

_______________________________________________
logback-dev mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-dev

Reply via email to