You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2018/11/30 15:49:31 UTC
[3/3] qpid-broker-j git commit: QPID-8232: [Broker-J] Support ability
to turn off logger
QPID-8232: [Broker-J] Support ability to turn off logger
(cherry picked from commit 367b0805cba347a362a143da4948704f6d263118)
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/2eb9c74e
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/2eb9c74e
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/2eb9c74e
Branch: refs/heads/7.0.x
Commit: 2eb9c74e02a737d177da540029423e65397f2764
Parents: 55b3dea
Author: Alex Rudyy <or...@apache.org>
Authored: Sun Sep 9 22:47:36 2018 +0100
Committer: Alex Rudyy <or...@apache.org>
Committed: Fri Nov 30 15:10:26 2018 +0000
----------------------------------------------------------------------
.../server/logging/logback/CompositeFilter.java | 9 ++++--
.../logback/LoggerNameAndLevelFilter.java | 30 +++++++++++++++--
.../logging/logback/BrokerLoggerTest.java | 34 +++++++++++++++++++-
.../logging/logback/CompositeFilterTest.java | 8 ++---
.../logback/LoggerNameAndLevelFilterTest.java | 17 ++++++++++
5 files changed, 88 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/2eb9c74e/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/CompositeFilter.java
----------------------------------------------------------------------
diff --git a/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/CompositeFilter.java b/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/CompositeFilter.java
index 752c80d..8438876 100644
--- a/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/CompositeFilter.java
+++ b/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/CompositeFilter.java
@@ -67,11 +67,16 @@ public class CompositeFilter extends Filter<ILoggingEvent>
FilterReply reply = DENY;
for(Filter<ILoggingEvent> filter : _filterList)
{
- reply = filter.decide(event);
- if (reply == DENY || reply == ACCEPT)
+ FilterReply filterReply = filter.decide(event);
+ if (filterReply == DENY)
{
+ reply = filterReply;
break;
}
+ if (filterReply == ACCEPT)
+ {
+ reply = filterReply;
+ }
}
if(reply == ACCEPT)
{
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/2eb9c74e/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/LoggerNameAndLevelFilter.java
----------------------------------------------------------------------
diff --git a/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/LoggerNameAndLevelFilter.java b/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/LoggerNameAndLevelFilter.java
index 825a01d..a2c620a 100644
--- a/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/LoggerNameAndLevelFilter.java
+++ b/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/LoggerNameAndLevelFilter.java
@@ -70,7 +70,7 @@ public class LoggerNameAndLevelFilter extends Filter<ILoggingEvent> implements E
@Override
public FilterReply decide(final ILoggingEvent event)
{
- return event.getLevel().isGreaterOrEqual(_level) ? FilterReply.ACCEPT : FilterReply.NEUTRAL;
+ return getFilterReply(event.getLevel());
}
};
}
@@ -82,7 +82,11 @@ public class LoggerNameAndLevelFilter extends Filter<ILoggingEvent> implements E
@Override
public FilterReply decide(final ILoggingEvent event)
{
- return event.getLevel().isGreaterOrEqual(_level) && event.getLoggerName().startsWith(prefixName) ? FilterReply.ACCEPT : FilterReply.NEUTRAL;
+ if (event.getLoggerName().startsWith(prefixName))
+ {
+ return getFilterReply(event.getLevel());
+ }
+ return FilterReply.NEUTRAL;
}
};
}
@@ -93,12 +97,32 @@ public class LoggerNameAndLevelFilter extends Filter<ILoggingEvent> implements E
@Override
public FilterReply decide(final ILoggingEvent event)
{
- return event.getLevel().isGreaterOrEqual(_level) && event.getLoggerName().equals(loggerName) ? FilterReply.ACCEPT : FilterReply.NEUTRAL;
+ if (event.getLoggerName().equals(loggerName))
+ {
+ return getFilterReply(event.getLevel());
+ }
+ return FilterReply.NEUTRAL;
}
};
}
}
+ private FilterReply getFilterReply(final Level eventLevel)
+ {
+ if (_level == Level.OFF)
+ {
+ return FilterReply.DENY;
+ }
+ else if (eventLevel.isGreaterOrEqual(_level))
+ {
+ return FilterReply.ACCEPT;
+ }
+ else
+ {
+ return FilterReply.NEUTRAL;
+ }
+ }
+
@Override
public Level getEffectiveLevel(final Logger logger)
{
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/2eb9c74e/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/BrokerLoggerTest.java
----------------------------------------------------------------------
diff --git a/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/BrokerLoggerTest.java b/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/BrokerLoggerTest.java
index 0678f2e..c20b4b5 100644
--- a/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/BrokerLoggerTest.java
+++ b/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/BrokerLoggerTest.java
@@ -232,13 +232,45 @@ public class BrokerLoggerTest extends QpidTestCase
errorFilter.delete();
}
+ public void testTurningLoggingOff()
+ {
+ Map<String, Object> fooRuleAttributes =
+ createBrokerNameAndLevelLogInclusionRuleAttributes("fooRule",
+ "org.apache.qpid.foo.*",
+ LogLevel.INFO);
+ Map<String, Object> barRuleAttributes =
+ createBrokerNameAndLevelLogInclusionRuleAttributes("barRule",
+ "org.apache.qpid.foo.bar",
+ LogLevel.OFF);
+
+ _brokerLogger.createChild(BrokerLogInclusionRule.class, fooRuleAttributes);
+ _brokerLogger.createChild(BrokerLogInclusionRule.class, barRuleAttributes);
+
+ Logger barLogger = LoggerFactory.getLogger("org.apache.qpid.foo.bar");
+ barLogger.warn("bar message");
+
+ Logger fooLogger = LoggerFactory.getLogger("org.apache.qpid.foo.foo");
+ fooLogger.warn("foo message");
+
+ assertLoggedEvent(_loggerAppender, false, "bar message", barLogger.getName(), Level.WARN);
+ assertLoggedEvent(_loggerAppender, false, "bar message", fooLogger.getName(), Level.WARN);
+ assertLoggedEvent(_loggerAppender, true, "foo message", fooLogger.getName(), Level.WARN);
+ }
+
private Map<String, Object> createBrokerNameAndLevelLogInclusionRuleAttributes(final String loggerName,
final LogLevel logLevel)
{
+ return createBrokerNameAndLevelLogInclusionRuleAttributes("test", loggerName, logLevel);
+ }
+
+ private Map<String, Object> createBrokerNameAndLevelLogInclusionRuleAttributes(final String ruleName,
+ final String loggerName,
+ final LogLevel logLevel)
+ {
Map<String, Object> attributes = new HashMap<>();
attributes.put(BrokerNameAndLevelLogInclusionRule.LOGGER_NAME, loggerName);
attributes.put(BrokerNameAndLevelLogInclusionRule.LEVEL, logLevel);
- attributes.put(BrokerNameAndLevelLogInclusionRule.NAME, "test");
+ attributes.put(BrokerNameAndLevelLogInclusionRule.NAME, ruleName);
attributes.put(ConfiguredObject.TYPE, BrokerNameAndLevelLogInclusionRule.TYPE);
return attributes;
}
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/2eb9c74e/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/CompositeFilterTest.java
----------------------------------------------------------------------
diff --git a/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/CompositeFilterTest.java b/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/CompositeFilterTest.java
index 751c0d9..6082b04 100644
--- a/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/CompositeFilterTest.java
+++ b/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/CompositeFilterTest.java
@@ -75,18 +75,18 @@ public class CompositeFilterTest extends QpidTestCase
LogBackLogInclusionRule neutral = createRule(FilterReply.NEUTRAL);
compositeFilter.addLogInclusionRule(neutral);
- LogBackLogInclusionRule deny = createRule(FilterReply.DENY);
- compositeFilter.addLogInclusionRule(deny);
-
LogBackLogInclusionRule accept = createRule(FilterReply.ACCEPT);
compositeFilter.addLogInclusionRule(accept);
+ LogBackLogInclusionRule deny = createRule(FilterReply.DENY);
+ compositeFilter.addLogInclusionRule(deny);
+
FilterReply reply = compositeFilter.decide(mock(ILoggingEvent.class));
assertEquals("Unexpected reply", FilterReply.DENY, reply);
verify(neutral.asFilter()).decide(any(ILoggingEvent.class));
verify(deny.asFilter()).decide(any(ILoggingEvent.class));
- verify(accept.asFilter(), never()).decide(any(ILoggingEvent.class));
+ verify(accept.asFilter()).decide(any(ILoggingEvent.class));
}
public void testRemoveLogInclusionRule()
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/2eb9c74e/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/LoggerNameAndLevelFilterTest.java
----------------------------------------------------------------------
diff --git a/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/LoggerNameAndLevelFilterTest.java b/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/LoggerNameAndLevelFilterTest.java
index 63d5cd1..693f383 100644
--- a/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/LoggerNameAndLevelFilterTest.java
+++ b/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/LoggerNameAndLevelFilterTest.java
@@ -115,4 +115,21 @@ public class LoggerNameAndLevelFilterTest extends QpidTestCase
when(event.getLoggerName()).thenReturn("org.apache.qpid");
assertEquals("Unexpected reply for non matching log leve and same logger namel", FilterReply.NEUTRAL, filter.decide(event));
}
+
+ public void testDecideForTurnedOffLogger() throws Exception
+ {
+ LoggerNameAndLevelFilter filter = new LoggerNameAndLevelFilter("org.apache.qpid", Level.OFF);
+
+ ILoggingEvent event = mock(ILoggingEvent.class);
+ when(event.getLevel()).thenReturn(Level.WARN);
+ when(event.getLoggerName()).thenReturn("org.apache.qpid");
+ assertEquals("Unexpected reply for matching log level and same logger name",
+ FilterReply.DENY,
+ filter.decide(event));
+
+ when(event.getLoggerName()).thenReturn("org.apache.qpid.foo");
+ assertEquals("Unexpected reply for matching log level and not same logger name",
+ FilterReply.NEUTRAL,
+ filter.decide(event));
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org