The proposed fixed would be to adjust SiftingJoranConfigurator#addInstanceRules by appending if-then-else rules like this:
rs.addRule(new ElementSelector("*/if"), new IfAction());
rs.addRule(new ElementSelector("*/if/then"), new ThenAction());
rs.addRule(new ElementSelector("/if/then/"), new NOPAction());
rs.addRule(new ElementSelector("*/if/else"), new ElseAction());
rs.addRule(new ElementSelector("/if/else/"), new NOPAction());
and to correct SiftingJoranConfiguratorBase#doConfigure to make the copy of the event list, because if-then-else Action-s update the event list every time a new appender is created for a new sifting key:
public void doConfigure(final List<SaxEvent> eventList) throws JoranException
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
The proposed fixed would be to adjust SiftingJoranConfigurator#addInstanceRules by appending if-then-else rules like this:
rs.addRule(new ElementSelector("*/if"), new IfAction());
rs.addRule(new ElementSelector("*/if/then"), new ThenAction());
rs.addRule(new ElementSelector("/if/then/"), new NOPAction());
rs.addRule(new ElementSelector("*/if/else"), new ElseAction());
rs.addRule(new ElementSelector("/if/else/"), new NOPAction());
and to correct SiftingJoranConfiguratorBase#doConfigure to make the copy of the event list, because if-then-else Action-s update the event list every time a new appender is created for a new sifting key:
public void doConfigure(final List<SaxEvent> eventList) throws JoranException
{ super.doConfigure(new ArrayList<>(eventList)); }