This is an automated email from the ASF dual-hosted git repository. reschke pushed a commit to branch OAK-12114 in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 6f490341fdb1d8d0a9b5c056d8dbbecb49e9279b Author: Julian Reschke <[email protected]> AuthorDate: Tue Mar 3 12:12:03 2026 +0100 OAK-12118: LogCustomizer: avoid logback signatures --- .../plugins/document/DocumentStoreStatsTest.java | 74 ++++++++++++++-------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentStoreStatsTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentStoreStatsTest.java index 779d20916b..8e20f1be66 100644 --- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentStoreStatsTest.java +++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentStoreStatsTest.java @@ -24,7 +24,6 @@ import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; -import ch.qos.logback.classic.LoggerContext; import com.codahale.metrics.Meter; import com.codahale.metrics.Timer; import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser; @@ -32,7 +31,6 @@ import org.apache.jackrabbit.oak.commons.junit.LogCustomizer; import org.apache.jackrabbit.oak.plugins.metric.MetricStatisticsProvider; import org.junit.After; import org.junit.Test; -import org.slf4j.LoggerFactory; import org.slf4j.event.Level; import static org.apache.jackrabbit.oak.plugins.document.Collection.JOURNAL; @@ -253,35 +251,60 @@ public class DocumentStoreStatsTest { @Test public void perfLog() throws Exception{ String logName = DocumentStoreStats.class.getName() + ".perf"; - LogCustomizer customLogs = LogCustomizer.forLogger(logName) - .filter(Level.TRACE) - .create(); - enableLevel(logName, Level.INFO); - customLogs.starting(); + { + // INFO: no logs - //No logs untill debug enabled - stats.doneFindAndModify(100, Collection.NODES, "foo", true, true, 0); - assertEquals(0, customLogs.getLogs().size()); + LogCustomizer customLogs = LogCustomizer.forLogger(logName) + .enable(Level.INFO) + .filter(Level.TRACE) + .create(); - stats.doneFindAndModify(TimeUnit.SECONDS.toNanos(10), Collection.NODES, "foo", true, true, 0); - assertEquals(0, customLogs.getLogs().size()); + customLogs.starting(); - //Change level to DEBUG - Now threshold rule applies - enableLevel(logName, Level.DEBUG); + stats.doneFindAndModify(100, Collection.NODES, "foo", true, true, 0); + assertEquals(0, customLogs.getLogs().size()); - stats.doneFindAndModify(100, Collection.NODES, "foo", true, true, 0); - assertEquals(0, customLogs.getLogs().size()); + stats.doneFindAndModify(TimeUnit.SECONDS.toNanos(10), Collection.NODES, "foo", true, true, 0); + assertEquals(0, customLogs.getLogs().size()); - stats.doneFindAndModify(TimeUnit.SECONDS.toNanos(10), Collection.NODES, "foo", true, true, 0); - assertEquals(1, customLogs.getLogs().size()); + customLogs.finished(); + } - //With trace level everything is logged - enableLevel(logName, Level.TRACE); - stats.doneFindAndModify(100, Collection.NODES, "foo", true, true, 0); - assertEquals(2, customLogs.getLogs().size()); + { + // DEBUG: Now threshold rule applies + + LogCustomizer customLogs = LogCustomizer.forLogger(logName) + .enable(Level.DEBUG) + .filter(Level.TRACE) + .create(); + + customLogs.starting(); + + stats.doneFindAndModify(100, Collection.NODES, "foo", true, true, 0); + assertEquals(0, customLogs.getLogs().size()); + + stats.doneFindAndModify(TimeUnit.SECONDS.toNanos(10), Collection.NODES, "foo", true, true, 0); + assertEquals(1, customLogs.getLogs().size()); - customLogs.finished(); + customLogs.finished(); + } + + { + // TRACE: everything is logged + + LogCustomizer customLogs = LogCustomizer.forLogger(logName) + .enable(Level.TRACE) + .filter(Level.TRACE) + .create(); + + customLogs.starting(); + + stats.doneFindAndModify(100, Collection.NODES, "foo", true, true, 0); + assertEquals(1, customLogs.getLogs().size()); + + customLogs.finished(); + } } @@ -292,9 +315,4 @@ public class DocumentStoreStatsTest { private Timer getTimer(String name) { return statsProvider.getRegistry().getTimers().get(name); } - - private static void enableLevel(String logName, Level level){ - ((LoggerContext)LoggerFactory.getILoggerFactory()) - .getLogger(logName).setLevel(ch.qos.logback.classic.Level.valueOf(level.toString())); - } } \ No newline at end of file
