File new-logback.patch of Package rdf4j
diff -urEbwB rdf4j-4.3.12.orig/tools/config/src/main/java/org/eclipse/rdf4j/common/app/logging/logback/LogConfigurator.java rdf4j-4.3.12/tools/config/src/main/java/org/eclipse/rdf4j/common/app/logging/logback/LogConfigurator.java
--- rdf4j-4.3.12.orig/tools/config/src/main/java/org/eclipse/rdf4j/common/app/logging/logback/LogConfigurator.java 2025-03-26 07:50:13.159031277 +0100
+++ rdf4j-4.3.12/tools/config/src/main/java/org/eclipse/rdf4j/common/app/logging/logback/LogConfigurator.java 2025-03-26 08:43:51.572529958 +0100
@@ -10,6 +10,7 @@
*******************************************************************************/
package org.eclipse.rdf4j.common.app.logging.logback;
+import java.util.function.Supplier;
import java.util.HashMap;
import java.util.Map;
@@ -20,8 +21,9 @@
import ch.qos.logback.core.Appender;
import ch.qos.logback.core.joran.action.Action;
import ch.qos.logback.core.joran.spi.ElementSelector;
-import ch.qos.logback.core.joran.spi.InterpretationContext;
+import ch.qos.logback.core.joran.spi.SaxEventInterpretationContext;
import ch.qos.logback.core.joran.spi.RuleStore;
+import ch.qos.logback.core.model.Model;
import ch.qos.logback.core.util.OptionHelper;
/**
@@ -74,10 +76,11 @@
}
@Override
- public void addInstanceRules(RuleStore rs) {
+ public void addElementSelectorAndActionAssociations(RuleStore rs) {
// parent rules already added
- super.addInstanceRules(rs);
- rs.addRule(new ElementSelector("configuration/appender/logreader"), new LogReaderAction());
+ super.addElementSelectorAndActionAssociations(rs);
+ Supplier<Action> actionSupplier = () -> new LogReaderAction();
+ rs.addRule(new ElementSelector("configuration/appender/logreader"), actionSupplier);
}
public class LogReaderAction extends Action {
@@ -87,20 +90,22 @@
boolean def = false;
@Override
- public void begin(InterpretationContext ec, String name, Attributes attributes) {
+ public void begin(SaxEventInterpretationContext ec, String name, Attributes attributes) {
className = attributes.getValue(CLASS_ATTRIBUTE);
def = (attributes.getValue("default") != null) && attributes.getValue("default").equalsIgnoreCase("true");
- ec.pushObject(className);
+ Model currentModel = new Model();
+ currentModel.setTag(className);
+ ec.pushModel(currentModel);
}
@Override
- public void end(InterpretationContext ec, String arg1) {
- Object o = ec.peekObject();
+ public void end(SaxEventInterpretationContext ec, String arg1) {
+ Object o = (Object)ec.peekModel();
if (o != className) {
addWarn("The object on the top the of the stack is not the logreader classname pushed earlier.");
} else {
- ec.popObject();
- Appender<?> appender = (Appender<?>) ec.peekObject();
+ ec.popModel();
+ Appender<?> appender = (Appender<?>) ec.peekModel();
logReaderClassNames.put(appender.getName(), className);
appenders.put(appender.getName(), appender);
if (def) {