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

Reply via email to