@Override
public void addInstanceRules(RuleStore rs) {
// parent rules already added
super.addInstanceRules(rs);
rs.addRule(new Pattern("configuration"), new ConfigurationAction());
rs.addRule(new Pattern("configuration/contextName"),
new ContextNameAction());
rs.addRule(new Pattern("configuration/insertFromJNDI"),
new InsertFromJNDIAction());
rs.addRule(new Pattern("configuration/evaluator"), new EvaluatorAction());
rs.addRule(new Pattern("configuration/appender/sift"), new SiftAction());
rs.addRule(new Pattern("configuration/appender/sift/*"), new NOPAction());
rs.addRule(new Pattern("configuration/logger"), new LoggerAction());
rs.addRule(new Pattern("configuration/logger/level"), new LevelAction());
rs.addRule(new Pattern("configuration/root"), new RootLoggerAction());
rs.addRule(new Pattern("configuration/root/level"), new LevelAction());
rs.addRule(new Pattern("configuration/logger/appender-ref"),
new AppenderRefAction());
rs.addRule(new Pattern("configuration/root/appender-ref"),
new AppenderRefAction());
//rs
// .addRule(new Pattern("configuration/appender/layout"),
// new LayoutAction());
// add jmxConfigurator only if we have JMX available.
// If running under JDK 1.4 (retrotranslateed logback) then we
// might not have JMX.
if (PlatformInfo.hasJMXObjectName()) {
rs.addRule(new Pattern("configuration/jmxConfigurator"),
new JMXConfiguratorAction());
}
rs.addRule(new Pattern("configuration/include"), new IncludeAction());
rs.addRule(new Pattern("configuration/consolePlugin"),
new ConsolePluginAction());
}