ppkarwasz commented on code in PR #2249:
URL: https://github.com/apache/logging-log4j2/pull/2249#discussion_r1467508691


##########
log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java:
##########
@@ -462,53 +718,30 @@ public boolean isEnabled(
     }
 
     @Override
-    public boolean isEnabled(final Level level, final Marker marker, final 
CharSequence message, final Throwable t) {
+    public boolean isEnabled(
+            final Level level, final Marker marker, final CharSequence 
message, final Throwable throwable) {
         return isEnabled(level, marker);
     }
 
     @Override
-    public boolean isEnabled(final Level level, final Marker marker, final 
Object message, final Throwable t) {
+    public boolean isEnabled(final Level level, final Marker marker, final 
Object message, final Throwable throwable) {
         return isEnabled(level, marker);
     }
 
     @Override
-    public boolean isEnabled(final Level level, final Marker marker, final 
Message message, final Throwable t) {
+    public boolean isEnabled(final Level level, final Marker marker, final 
Message message, final Throwable throwable) {
         return isEnabled(level, marker);
     }
 
     @Override
     public boolean isEnabled(final Level level, final Marker marker) {
-        if (DEBUG_ENABLED) {
-            return true;
-        }
-        if (listeners.size() > 0) {
-            return listenersLevel >= level.intLevel();
-        }
-        return logger.isEnabled(level, marker);
-    }
-
-    /**
-     * Queues for status events.
-     *
-     * @param <E> Object type to be stored in the queue.
-     */
-    private class BoundedQueue<E> extends ConcurrentLinkedQueue<E> {
-
-        private static final long serialVersionUID = -3945953719763255337L;
-
-        private final int size;
-
-        BoundedQueue(final int size) {
-            this.size = size;
-        }
-
-        @Override
-        public boolean add(final E object) {
-            super.add(object);
-            while (messages.size() > size) {
-                messages.poll();
-            }
-            return size > 0;
+        requireNonNull(level, "level");
+        listenerReadLock.lock();
+        try {
+            return listeners.stream()
+                    .anyMatch(listener -> 
listener.getStatusLevel().isLessSpecificThan(level));

Review Comment:
   Here we might need a `public` method like `updateListenerLevels` (yes, I 
said `public` ;-)).
   
   Imagine if a user updates the level of its listener, he must be able to also 
update the cached value (cf. Martin Fowler's [two hard 
things](https://martinfowler.com/bliki/TwoHardThings.html)).



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@logging.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to