Could we make some changes in order to make PatternLayoutBase more extensible? Currently, only operation which PostCompileProcessor can do is appending additional Converter(s). Could we define PostCompileProcessor as
public interface PostCompileProcessor<E> {
Converter<E> process(Context context, Converter<E> head);
}
so that it can rebuild entire Converters list?
In order to make sense Converter.next should be allowed to be changed even if there is previous value set (see ch.qos.logback.core.pattern.Converter#setNext).
After doing that PostCompileProcessor would be more flexible (and it would be real post processor not only some-converters-appender ).
I could prepare pull request if initial acceptance is given.
|